improvement refactoring