better method docs and added first_dominates and second_dominates predicates