Update Checkpoint Class

Update the Checkpoint Class, still need unittesting.