soft refactoring