add genetic algorithm