     clicker = world.get_raw 'click'
     dict['click'] = -> clicker(world) if clicker? and !world.has_children()
     SVG.g dict, world.bind() ->
-      result = draw_children(world) or draw_self(world)
-      if _.isArray(result) then result else result.all()
+      paths = draw_self(world)
+      paths = [] unless paths?
+      child_paths = draw_children(world)
+      child_paths = child_paths.all() unless _.isArray(child_paths)
+      for child in child_paths
+        paths.push child
+      paths
 
   #console.log world
   device_width = world.get('device_width')

  SVG = world.SVG()

  draw_self = (world) ->
    assert !world.has_children()
    #console.log "draw_self #{world}"
    dict = {
      class: world.labels(['draw', 'self'])
      stroke: world.get 'stroke'

    }, world.bind() -> world.get('name')
    elements
    
  draw_children = (world) -> world.map_children(draw_world)  

  draw_world = (world) ->
    console.log "draw_world #{world} kids:#{world.has_children()}", world
    dict = {
      class: world.labels(['draw', 'world'])
      transform: world.bind() -> world.get('transform')
