added pmx as a crossover option