Fixed equals and hashCode