renamed MachineBlock to AbstractMachineBlock