refactoring skills