Impl. equals & hashCode
added doc tags
reset some accessors to be public to allow modification afterwards.