use guava equals/hashCode