set_heater recursion fixed!