Adding hash code and equals methods as well as more comments to the domain objects