still refactoring the provider start