Create AbstractDirective