do refactoring