             targetNode = n
             if sourceNode != targetNode
                 newLink = {source: sourceNode, target: targetNode, caption: "edited"}
-                alchemy.edges.push(newLink)
-                alchemy.edge = alchemy.edge.data(alchemy.edges)
-                alchemy.drawing.drawedges(alchemy.edge)
+                alchemy.editor.update(null, newLink)
+            # do nothing (we've registered a click; just reset dragline data)
             dragline.datum(null)
             return true
         else return false

        
        d3.selectAll(".selected").classed("selected", false)

alchemy.editor.interactions =
    nodeMouseOver: (n) ->
        if alchemy.conf.editorInteractions is true

        dragline = d3.select("#dragline")
        targetX = dragline.attr("x2")
        targetY = dragline.attr("y2")
        sourceNode = d

        targetNode = {id: alchemy.nodes.length, x: targetX, y: targetY, caption: "editedNode"}    
        newLink = {source: sourceNode, target: targetNode, caption: "edited"}

        # add to alchemy data and draw nodes / links
        alchemy.editor.update(targetNode, newLink)

    # reset dragline
    d3.select("#dragline")
