better equality test