       # yadda = Yadda.createInstance libraries.concat(steps), context
       yadda = Yadda.createInstance libraries, context
 
-      @processHook feature, yadda, context
+      @processHook feature, yadda, context, aLang
       # add the describe to each scenario
       scenarios feature.scenarios, (scenario)->
         # add the it to each step

      , aLangName
      , /^([^\.\-].*)[\-\.]lib[s]?\.(js|coffee)$/

  # before/after, beforeEach/afterEach
  processHook: (aFeature, yadda, context)->
    yaddaRun = Promise.promisify(yadda.run)
    vHooks =
      before: []

    scenarios = aFeature.scenarios
    for scenario, i in scenarios
      for k, v of vHooks
        if has_annotation scenario.annotations, k, lang
          v.push scenario
          scenarios[i] = undefined
          # make one scenario could be before and after too.
          # break
    for k,v of vHooks
      if v.length
        for scenario in v
          unless has_annotation scenario.annotations, 'pending', lang
            # console.log 'before def', k, scenario.title
            ((scenario, hook)->
              # before/after '', ->
              container[hook] scenario.title, ->
                # console.log 'def', hook, scenario.title
                Promise.mapSeries scenario.steps, (step)->
                  # console.log scenario.title, step
                  testScope.context = context.ctx
                  yaddaRun.call yadda, step
            )(scenario, k)
    # remove the scenarios for hooks
    cleanArray.call scenarios

  # run a feature file.
  runFile: (aFile, aLangName)->
