Added Crossover and mutation features