added support for providers
added restriction on overrides