various minor fixes- handle one-to-one constraints correctly