reverted back to createDirective method, added instance check on builder.exec