MachineAdapter refactored