refactored calcthermal. renamed and added roll *broken*