refactoring task