implement override equals, hashCode, toString and postConstruct hook