added base of block class and methods for managing block types.