added support for more providers