Refactoring

RefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoringRefactoring