Checkpoint, almost working well