checkpoint-friendly design