Providers refactoring