 
     # returns the absolute y coordinate of the left anchor point
     #
+    # This method should definitely be simplifiwed
     left_y:  =>
-      offset = 0
+      offset = null
       for link in @left.right_links
         # push down the first link
-        offset += link.value() / 2 if offset == 0
-        break if link == this
-        offset += link.value()
+        if offset == null
+          offset = link.value() / 2
+          break if link == this
+          offset = link.value()
+        else
+          if link == this
+            offset += link.value() / 2
+            break
+          else
+            offset += link.value()
       @left.y_offset() + offset
 
     # see above
     #
     right_y:  =>
-      offset = 0
+      offset = null
       for link in @right.left_links
         # push down the first link
-        offset += link.value() / 2 if offset == 0
-        break if link == this
-        offset += link.value()
+        if offset == null
+          offset = link.value() / 2
+          break if link == this
+          offset = link.value()
+        else
+          if link == this
+            offset += link.value() / 2
+            break
+          else
+            offset += link.value()
       @right.y_offset() + offset
 
     left_x:  => @left.x_center() + @module.Node.width / 2

        append("svg:path").
        attr("class", "link").
        style("stroke-width", (link) -> link.value()).
        style("stroke", (link) -> link.color()).
        style("fill", "none").
        style("opacity", 0.8).
        on('mouseover', ->

        domain([0, 700]).
        range([0, @height])

      # This is the function that will take care of drawing the links once we've
      # set the base points
      @link_line = d3.svg.line().
        interpolate("basis").
        x((d) -> @x(d.x)).
