         outCallback err, output...
     argsToCall = args.concat fnDone 
     fn argsToCall...
-
-_flow = (flowFns)->
-  return (args..., outCallback)->  
-    first = args[0]
-    err = null
-    debug 'first', first
-    if first is null or first is undefined or _isError first
-      err = args.shift()
-      debug 'set err = ', err
-
-    if typeof outCallback isnt 'function'
-      args.push outCallback
-      outCallback = ()->
-
-    runFlow flowFns, err, args, outCallback
+ 
 
 _chain = (chainFns)->
   return (args..., outCallback)-> 



runFlow = (fnFlows, err, args, outCallback)->
  debug 'runFlow', arguments    

  if err
    errorHandlerArity = args.length + 2 # include err, callback
    fnFlows = cutFlowsByArity(fnFlows, errorHandlerArity)    
 
  return outCallback err, args... if fnFlows.length is 0 

    fn = (args..., next)-> runForkFlow fnArr, args, next 

  argsToCall = args
  argsToCall = [err].concat args if fn.length is errorHandlerArity

  fn argsToCall..., (err)->
    runFlow fns, err, args, outCallback 
