fixed equals & hashcode
merging