mating()