updated update_machine()