Implementation of checkpoints/temp targets #88

Squashed all the commits into one - in another branch

Ready for review.