Checkpoints made generic with example