working version w/o any AbstractBlock stuff.