Add support for multiple providers