fixing mating functions!
updates, cleanups