add find_matching_with_constraints