please use quava lib in case hash code, to string, and equal