Update: overrided toString and hashCode