added req1: a child must be the opposite gender of the parent