refactoring and new strategies