Created AbstractBlock class