Re-added the provider functionality