support for virtual directive