   @setMaxListeners 100
   process.on 'uncaughtException', (err) =>
     @emit 'error', err
+  config.config = merge {}, config.config... if Array.isArray config.config
   # Normalize nodes
   for id, node of config.nodes
     node.id ?= id
-    # node.host ?= id
-    # node.shortname ?= node.host.split('.')[0]
     node.config ?= {}
-    # node.config.id = id
     node.config.host ?= id
     node.config.shortname ?= node.config.host.split('.')[0]
   # Discover module inside parent project

    normalize_service service
    merge service, normalize_service service.module
  # Add auto loaded services
  for _, service of config.services
    for id, use of service.use
      if use.implicit
        use = merge require.main.require(use.module), use
        child = config.services[use.id] = normalize_service use
        merge child.constraints, service.constraints
  # Graph ordering
  graph = tsort()
  for _, service of config.services

    v = service.use[id] = module: v if typeof v is 'string'
    v.id ?= v.module
  service.commands ?= {}
  service.config ?= {}
  service.config = merge {}, service.config... if Array.isArray service.config
  service.configure ?= []
  service.configure = [service.configure] unless Array.isArray service.configure
  service.constraints ?= {}
