changed provider-specific dependencies to be optional