remove duplicate results by implement equals and hashcode