added support for providers