Added hashCode override as equals exists