add support for passing directives down