first push as part of refactoring