when to checkpoint?