         .links(childLinks)
         .start()
 
-    cell.insert('rect', ':first-child')
-        .attr('class', 'border')
-        .attr('x', -r / 2)
-        .attr('y', -r / 2)
-        .attr('width', r)
-        .attr('height', r)
-        .attr('rx', 15)
-        .attr('ry', 15)
-        .append('title')
-          .text((d) -> d.name)
-
     force.on 'tick', ->
       link.attr('x1', (d) -> d.source.x)
           .attr('y1', (d) -> d.source.y)
           .attr('x2', (d) -> d.target.x)
           .attr('y2', (d) -> d.target.y)
 
-      cell.attr('transform', (d) -> "translate(#{d.x},#{d.y})")
-          .attr('cy', (d) -> d.y)
-
-    cell.call(force.drag)
+      for child in children
+          cell = cellList[child._idx]
+          node = childNodes[child._idx]
+          cell.attr('transform', "translate(#{node.x},#{node.y})")
+              .attr('cy', node.y)
 
     return size
 

drawState = (g, state) ->
    size = 100

    if state.children?
        size += drawChildren(g, state.children)

    return size


        .attr('class', 'link')
        .style('stroke-width', (d) -> Math.sqrt(d.value))

    cellList = []

    size = 0
    for child in children
        cell = g.append('g')
            .attr('class', 'cell')
        cellList.push(cell)

        size += drawState(cell, child) * 3

    r = Math.sqrt(size)
