refactoring WIP checkpoint