genetic strategy refactoring