moved disequality tests to their own helpers