todo update
checkpointing first work to move reactor into own package