def _parse(self, lines):
     cpu = Bunch(zip(["user", "nice", "system", "idle", "iowait", "irq", "softirq", "steal", "guest", "guest_nice"], map(int, lines[0].split(' ')[2:])))
     cpu.total  = cpu.user + cpu.nice + cpu.system + cpu.idle + cpu.iowait + cpu.irq + cpu.softirq + cpu.steal + cpu.guest + cpu.guest_nice
     cpu.active = cpu.total - (cpu.idle + cpu.iowait)
     mem = Bunch(zip(["total", "free", "buffers", "cache"], [int(line.split(' ')[-2]) for line in lines[1:5]]))
     mem.used = mem.total - mem.free - mem.buffers - mem.cache
     bat = Bunch(percent = int(lines[5]) / 100.0)
     processes = {}
     for line in lines[6:]:
         cols = line.split(' ')
         pid, user, system = map(int, [cols[0], cols[13], cols[14]])
         processes[pid] = Bunch(cpu = Bunch(user = user, system = system))
     return Bunch(cpu = cpu, mem = mem, bat = bat, processes = processes)