         offset += n.value() + margin
       offset
 
-    x_offset: => @get('column') * (@width + @horizontal_spacing)
+    x_offset: => @get('column') * (@width + @horizontal_spacing())
 
     # center point of the node. We use it as link anchor point
     x_center: => @x_offset() + @width / 2

        sums[column] = sums[column] || 0
        sums[column] += n.value()
      _.max _.values(sums)

  # cool but not flexible enough
  Node: class extends Backbone.Model
    width: 20
    vertical_margin: 10

    initialize: =>
      @right_links = []
      @left_links = []
      @view = @get 'view'

    # Returns an appropriate spacing given the number of columns. Some values
    # are manually set to squeeze every single pixel
    #
    horizontal_spacing: =>
      return @__horizontal_spacing if @__horizontal_spacing?
      cols = @view.number_of_columns()
      @__horizontal_spacing = switch cols
        when 3 then 170
        when 4 then 120
        else @view.width / cols
      @__horizontal_spacing

    # vertical position of the top left corner of the node. Adds some margin
    # between nodes
