THis rocks!!!
------------2---2---2---20-----------
--3---1---3-3---3-------------------1 2345-------1---c---0--05-1---4---21--
-0---0-122---3-2-----0-------1-------
--0---0---------0-------------0------
-------411122-----------------------2 -2-2-1---1---0---1-----------0---