fixed checkpointing