diff --git a/wally/suits/io/ceph.cfg b/wally/suits/io/ceph.cfg
index 085153f..7a84872 100644
--- a/wally/suits/io/ceph.cfg
+++ b/wally/suits/io/ceph.cfg
@@ -8,8 +8,9 @@
 filename={FILENAME}
 NUM_ROUNDS=7
 
-NUMJOBS={% 1, 5, 10, 15, 20, 30, 40, 80, 120 %}
-NUMJOBS_SHORT={% 1, 5, 10, 15, 20, 30, 40 %}
+NUMJOBS_LARGE={% 1, 5, 10, 15, 20, 30, 40, 80, 120 %}
+NUMJOBS_NORM={% 1, 5, 10, 15, 20, 30, 40 %}
+NUMJOBS_SHORT={% 1, 5, 10 %}
 
 size=30G
 ramp_time=30
@@ -22,7 +23,7 @@
 blocksize=4k
 rw=randwrite
 sync=1
-numjobs={NUMJOBS}
+numjobs={NUMJOBS_NORM}
 
 # ---------------------------------------------------------------------
 # direct write
@@ -41,7 +42,7 @@
 blocksize=4k
 rw=randread
 direct=1
-numjobs={NUMJOBS}
+numjobs={NUMJOBS_NORM}
 
 # ---------------------------------------------------------------------
 # this is essentially sequential read openration
@@ -60,4 +61,4 @@
 blocksize=1m
 rw=write
 direct=1
-numjobs={NUMJOBS}
+numjobs={NUMJOBS_NORM}
diff --git a/wally/suits/io/results_loader.py b/wally/suits/io/results_loader.py
index 3b50bf7..102fe4c 100644
--- a/wally/suits/io/results_loader.py
+++ b/wally/suits/io/results_loader.py
@@ -9,16 +9,16 @@
 PerfInfo = collections.namedtuple('PerfInfo',
                                   ('name',
                                    'bw', 'iops', 'dev',
-                                   'lat', 'lat_dev', 'raw'))
+                                   'lat', 'lat_dev', 'raw',
+                                   'meta'))
 
 
-def split_and_add(data, block_count):
-    assert len(data) % block_count == 0
-    res = [0] * (len(data) // block_count)
+def split_and_add(data, block_size):
+    assert len(data) % block_size == 0
+    res = [0] * block_size
 
-    for i in range(block_count):
-        for idx, val in enumerate(data[i::block_count]):
-            res[idx] += val
+    for idx, val in enumerate(data):
+        res[idx % block_size] += val
 
     return res
 
@@ -30,13 +30,22 @@
             pass
 
         vm_count = pre_result['__test_meta__']['testnodes_count']
-
         for name, results in pre_result['res'].items():
-            bw, bw_dev = med_dev(split_and_add(results['bw'], vm_count))
-            iops, iops_dev = med_dev(split_and_add(results['iops'], vm_count))
+            assert len(results['bw']) % vm_count == 0
+            block_count = len(results['bw']) // vm_count
+
+            # print
+            # print name, block_count
+            # print results['bw']
+            # print split_and_add(results['bw'], block_count)
+
+            bw, bw_dev = med_dev(split_and_add(results['bw'], block_count))
+            iops, iops_dev = med_dev(split_and_add(results['iops'],
+                                                   block_count))
             lat, lat_dev = med_dev(results['lat'])
             dev = bw_dev / float(bw)
-            data[name] = PerfInfo(name, bw, iops, dev, lat, lat_dev, results)
+            data[name] = PerfInfo(name, bw, iops, dev, lat, lat_dev, results,
+                                  pre_result['__test_meta__'])
     return data
 
 
