Add provider parameter

I needed to set a specific provider.
use `validate_string()` instead of trying to validate different names for providers. People could write their own provider and then this code would not let them use it.