models are hashable