Draft of AbstractBlock class