Add hashcode and equals