refactor: BlockMachine class created