A not so broken version

12 checkpoints, works pretty well !