added functionality to crossover and breed