enhanced equality test