Added first attempt at checkpoint code.  Technically fixes #10, although will still require work.