merged master with mating-methods