added recombination method