checkpointing breaking out visit funcs