new machine logic