adding support for nested dictionaries and context.providers