add crossover and mutation
update mutation
update comments