 
         callback null
 
-    # true, we don't care about the order of a cluster,
-    # but we *do* care about implicit containers, so we have to run this
-    # for now. Should split the methods out
-    resolveOrder @config, cluster, (list) -> async.eachLimit list, 5, iterator, done
+    resolveOrder @config, cluster, (list) ->
+      async.eachSeries list, iterator, done
 
   create: (cluster, done) ->
     # create a container based on metadata

          container[key] = value

    # just used for formatting so we pad the container names equally
    maxNameLength = container.name.length if container.name.length > maxNameLength

  # resolve dependency order
  depTree = new DepTree

      throw new Error "No clusters defined!"

    for name, details of config.clusters
      # convert shorthand of list of containers
      if Array.isArray details
        details = config.clusters[name] =
          containers: details

      # explicit group; check it exists
      if details.group and not config.groups[details.group]
        err = "Cluster #{name} references invalid group #{details.group}"
        throw new Error err

      # no group, but does the key match one? If so use it
      if not details.group and config.groups[name]
        details.group = name

      # right, check out each container in the cluster
      for container, index in details.containers
        if typeof container is "string"
          container = details.containers[index] =
            name: container
            count: 1

        containerLookup = config.containers[container.name]

        if not containerLookup
          throw new Error("Container #{container.name} does not exist")

        container.object = containerLookup

    return config

