intermediate commit, refactoring