make models a provider and not a factory