machine_room functions