refactoring ii