Refactoring single objective GAs