more inclusive Model class