   targets = data.toList
     typed: true
 
-  valueheaders = targets.header.filter (h) -> h != 'date' && h != 'name' && h != 'category'
+  dateheader = targets.header[0]
+  nameheader = targets.header[1]
+  categoryheader = targets.header[2]
+  valueheaders = targets.header.filter (h, i) -> i >= 3
 
   if !~valueheaders.indexOf(selected)
     selectData(0, true)


  max = d3.max(targets, (d) -> d3.max(valueheaders, (h) -> d[h]))

  x.domain(d3.extent(targets, (d) -> xvalue(d.date)))
  y.domain([1, yvalue(max)])
  r.domain([1, rvalue(max)])
  color.domain(x.domain())

      .attr
        class: 'target'
        r: (d) -> r(rvalue(d[selected]))
        cx: (d) -> x(xvalue(d[dateheader]))
        cy: (d) -> y(yvalue(d[selected]))
        fill: (d) -> color(xvalue(d[dateheader]))
        'fill-opacity': 0.7
        stroke: 'black'
        'stroke-width': 0
