started implementing checkpoints