Added crossover and mutation steps.