     # derive some stats
     @averageSessionLength = @characterMinutes / @characterSessionsStarted
 
-    @combatKillsTotal = @calcTotal 'combatKills'
-    @combatDeathsTotal = @calcTotal 'combatDeaths'
+    @combatKillsTotal = @total 'combatKills'
+    @combatDeathsTotal = @total 'combatDeaths'
     @kdRatioTotal = @combatKillsTotal / @combatDeathsTotal
 
     @kdRatioHigh = @combatKillsHighSec / @combatDeathsHighSec

    @kdRatioNull = @combatKillsNullSec / @combatDeathsNullSec
    @kdRatioWormhole = @combatKillsWormhole / @combatDeathsWormhole

    @travelDistanceWarpedTotal = @calcTotal 'travelDistanceWarped'

    @iskSpentPercent = 100 * (@iskOut / @iskIn)


  constructor: (stats) ->
    for key, val of stats
      @[key] = val

    @secSuffixes = [
      'HighSec'
      'LowSec'
      'NullSec'
      'Wormhole'
    ]

    @calcDerived()

  total: _.memoize (prefix) ->
    statNames = _.map @secSuffixes, (suffix) -> prefix + suffix
    return _.reduce statNames, ((sum, stat) => sum + @[stat]), 0

  percent: _.memoize (prefix, suffix) ->
    total = @total prefix
    pct = @[prefix + suffix] / total
    return pct
  # resolver
  , (prefix, suffix) -> return "#{prefix}#{suffix}"

  calcDerived: ->
    # fix a few stats
