   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)


  pos =
    x:
      if x(xvalue(d.date)) < width / 2
        margin.left + x(xvalue(d.date)) + r(rvalue(d[selected])) + 10
      else
        margin.left + x(xvalue(d.date)) - r(rvalue(d[selected])) - 10 - w.node().offsetWidth
    y:
      margin.top + y(yvalue(d[selected])) - (w.node().offsetHeight / 2)



detailHeading = (d) ->
  v = d[valueheaders[0]] / 1000000000
  html = "<span class=\"date\">#{d3.time.format('%Y-%m-%d')(d[dateheader])}</span>"
  html += "<br /><b>#{d[nameheader]}</b>"
  html += "<br />#{d[categoryheader]}"
  html += "<br />value at I.P.O. #{(d3.format(',.0f'))(v)} billions #{unit}"

detailBody = (d) ->
