begin implement checkpoint-generator