refactoring OK