refactoring continues