recover from checkpoint