Started Block class hierarcy

This is somewat working commit. It need A LOT of cleanup.