revise hashCode/equals methods