enhanced checkpointing to deal with setTimer