strong refactoring