Checkpoint, working much better