 
     tick: () =>
         if alchemy.conf.collisionDetection
-            q = d3.geom.quadtree @d3NodeInternals
             for node in _.values alchemy._nodes
-                q.visit @collide(node)
+                @q.visit @collide(node)
 
         # alchemy.node
         alchemy.vis

        nodes = alchemy._nodes
        @k = Math.sqrt Math.log(_.size(alchemy._nodes)) / (conf.graphWidth() * conf.graphHeight())
        @_clustering = new alchemy.clustering
        @d3NodeInternals = _.keys alchemy._nodes
        if conf.cluster
            @_charge = () -> @_clustering.layout.charge
            @_linkStrength = (edge) -> @_clustering.layout.linkStrength(edge)

    collide: (node) =>
        node = node._d3
        conf = alchemy.conf
        r = 2 * (node.radius + node['stroke-width']) + conf.nodeOverlap
        nx1 = node.x - r
        nx2 = node.x + r
        ny1 = node.y - r
