             pos: ( x: x + children_bounds[idx].width/2, y:
                       default_node_radius * 3 )
           )
-          x += children_bounds[idx].width + default_node_radius
-
-      width: width + default_node_radius * 2
-      height: height + default_node_radius * 2
+          x += width / children.length
+
+      width: width + default_node_radius
+      height: height + default_node_radius
 
     getBounds(tree)
 

          children_width += cb.width
          children_max_height = Math.max(children_max_height, cb.height)

        width = Math.max(width,
          children_width + (children.length-1) * default_node_radius)
        height = Math.max(height,
          children_max_height + 2 * default_node_radius)



  sortNodes: (compare, t) ->
    if @nodes.length == 1
      return []

    anims = []
    anims.push(@makeLineupAnim(default_node_radius*2, .1, t))
