diff --git a/wally/suits/io/ceph.cfg b/wally/suits/io/ceph.cfg
index 22a4937..e134e4c 100644
--- a/wally/suits/io/ceph.cfg
+++ b/wally/suits/io/ceph.cfg
@@ -11,7 +11,7 @@
 runtime=180
 
 # ---------------------------------------------------------------------
-# check different thread count, sync mode. (latency, iops) = func(th_count)
+# check different QD, direct mode. (latency, iops) = func(th_count)
 # ---------------------------------------------------------------------
 [ceph_{TEST_SUMM}]
 blocksize=4k
@@ -19,17 +19,16 @@
 iodepth={QD_W}
 
 # ---------------------------------------------------------------------
-# check different thread count, direct read mode. (latency, iops) = func(th_count)
+# check different QD, direct read mode. (latency, iops) = func(th_count)
 # also check iops for randread
 # ---------------------------------------------------------------------
 [ceph_{TEST_SUMM}]
 blocksize=4k
 rw=randread
-direct=1
 iodepth={QD_R}
 
 # ---------------------------------------------------------------------
-# sync write
+# sync write - disabled for now
 # ---------------------------------------------------------------------
 #[ceph_{TEST_SUMM}]
 #blocksize=4k
@@ -43,10 +42,15 @@
 # we can't use sequential with numjobs > 1 due to caching and block merging
 # ---------------------------------------------------------------------
 [ceph_{TEST_SUMM}]
-blocksize=16m
-rw=randwrite
-direct=1
-iodepth={QD_SEQ_W}
+blocksize=1m
+rw=write
+iodepth=1
+# offset_increment={OFFSET_INC}
+
+#[ceph_{TEST_SUMM}]
+#blocksize=16m
+#rw=randwrite
+#iodepth={QD_SEQ_W}
 
 # ---------------------------------------------------------------------
 # this is essentially sequential read operations
@@ -55,5 +59,4 @@
 [ceph_{TEST_SUMM}]
 blocksize=16m
 rw=randread
-direct=1
 iodepth={QD_SEQ_R}
diff --git a/wally/suits/io/verify.cfg b/wally/suits/io/verify.cfg
index 40055d7..b8d1076 100644
--- a/wally/suits/io/verify.cfg
+++ b/wally/suits/io/verify.cfg
@@ -1,18 +1,23 @@
 [global]
 include defaults_qd.cfg
-# QD={% 32, 64, 128, 256 %}
-QD={% 32, 256 %}
-runtime=120
+# QD={% 16, 32, 64, 128 %}
+# QD={% 32, 256 %}
+QD=1
+runtime=10
 direct=1
-ramp_time=15
+ramp_time=0
 
 # ---------------------------------------------------------------------
 
 [verify_{TEST_SUMM}]
-blocksize=4k
-rw=randwrite
-direct=1
-iodepth={QD}
+blocksize=1m
+rw=write
+iodepth=1
+
+#[verify_{TEST_SUMM}]
+#blocksize=16m
+#rw=randwrite
+#iodepth={% 1, 4 %}
 
 # [verify_{TEST_SUMM}]
 # blocksize=4k
diff --git a/wally/suits/itest.py b/wally/suits/itest.py
index 9aa4ce6..36c349e 100644
--- a/wally/suits/itest.py
+++ b/wally/suits/itest.py
@@ -108,7 +108,7 @@
                 expected_run_time = int(sum(run_times) * 1.05)
 
                 exec_time_s, end_dt_s = get_time_interval_printable_info(expected_run_time)
-                logger.info("Entire test should takes around %s and finished at %s", exec_time_s, end_dt_s)
+                logger.info("Entire test should takes around %s and finish at %s", exec_time_s, end_dt_s)
 
             for job in not_in_storage:
                 results = []  # type: List[TimeSeries]
@@ -120,7 +120,7 @@
 
                     expected_job_time = self.get_expected_runtime(job)
                     exec_time_s, end_dt_s = get_time_interval_printable_info(expected_job_time)
-                    logger.info("Job should takes around %s and finished at %s", exec_time_s, end_dt_s)
+                    logger.info("Job should takes around %s and finish at %s", exec_time_s, end_dt_s)
 
                     jfutures = [pool.submit(self.run_iteration, node, job) for node in self.suite.nodes]
                     failed = False
