add one more hashCode() and other functinality