core: add Checkpoint