updates to checkpoint and allocate and their tests
updates to checkpoint