tostring implemented
implemented equals and hash method