Basic Objects with Hashcode and Equals implementations