change how to catch exception and remove IMachine implements