Added ProviderManager for easier manager, create new exception, changed service provider to work with the manager