proper heat functionality