Service provider refactoring