handling models in the provider instead of the service