refactoring for refactoring