   mouse_moves = new Bacon.Bus
 
   area = d3.svg.area()
-  .x((d) -> d.x)
-  .y0((d) -> y d.y0 ? 0)
-  .y1((d) -> y d.value + (d.y0 ? 0))
-  .defined((d) -> d.value?)
+    .x((d) -> d.x)
+    .y0((d) -> y d.y0 ? 0)
+    .y1((d) -> y d.value + (d.y0 ? 0))
+    .defined((d) -> d.value?)
 
   line = d3.svg.line()
-  .x((d) -> d.x)
-  .y((d) -> y d.value)
-  .defined((d) -> d.value?)
+    .x((d) -> d.x)
+    .y((d) -> y d.value)
+    .defined((d) -> d.value?)
 
   stack = d3.layout.stack()
-  .values((d) -> d.values)
-  .x((d) -> d.time)
-  .y((d) -> d.value)
-  .out((d, y0, y) ->
-    d.y0 = y0
-    d.value = y)
+    .values((d) -> d.values)
+    .x((d) -> d.time)
+    .y((d) -> d.value)
+    .out((d, y0, y) ->
+      d.y0 = y0
+      d.value = y)
 
   svg = d3.select(container).append('svg')
-  .on('mousemove', (d, i) -> mouse_moves.push d3.mouse g.node())
+    .on('mousemove', (d, i) -> mouse_moves.push d3.mouse g.node())
 
   g = svg
-  .append("g")
+    .append("g")
 
   xAxisG = g.append('g')
-  .attr('class', 'x axis')
+    .attr('class', 'x axis')
 
   yXaxisG = g.append('g')
-  .attr('class', 'y axis')
+    .attr('class', 'y axis')
 
   vertical_crosshair = g.append('line')
-  .attr('class', 'crosshair')
-  .attr('y1', 0)
+    .attr('class', 'crosshair')
+    .attr('y1', 0)
 
   crosshair_time = g.append('text')
-  .attr('class', 'crosshair-time')
-  .attr('y', -6)
+    .attr('class', 'crosshair-time')
+    .attr('y', -6)
 
   brushG = g.append("g")
-  .attr("class", "x brush")
+    .attr("class", "x brush")
 
   legend = d3.select(container).append('ul')
-  .attr('class', 'legend')
+    .attr('class', 'legend')
 
   currentCrosshairTime = null
   allNames = []

      boundedPositionCrosshair(time)

    target = g.selectAll('.target')
    .data(targets)
    target.enter().append("g")
    .attr('class', (d, i) -> "target target#{i}")
    .call(observe_mouse)
    target.exit().remove()
    target.selectAll('g > *').remove()


      brush brushG

    brushG.selectAll("rect")
      .attr("y", 0)
      .attr("height", height)
      .attr('fill', '#efefef')

    positionCrosshair = (x, time) ->
      currentCrosshairTime = time
      vertical_crosshair
        .attr('x1', x)
        .attr('x2', x)

      crosshair_time
        .text(moment(time).format('lll'))
        .attr('x', x)

      target_values = _.map targets, (t) ->
        i = t.bisector.left t.values, time, 1
