add explicit clear_timer function