Added crossover function
Added mutate and swap functions