fix bug in crossover operation