updates to checkpoint and allocate and their tests