add support for source directives