performed refactoring