refactoring general