more on refactoring