__eq__ and __hash__ implemented