Refactoring begin