diff --git a/beem/version.py b/beem/version.py
index d727f28ff28fceb0b5165823f0540b9c62ff9d1f..cb4b7ad66a51e698c89a4bc3450f27750c115ec5 100644
--- a/beem/version.py
+++ b/beem/version.py
@@ -1,2 +1,2 @@
 """THIS FILE IS GENERATED FROM beem SETUP.PY."""
-version = '0.19.48'
+version = '0.19.49'
diff --git a/beemapi/version.py b/beemapi/version.py
index d727f28ff28fceb0b5165823f0540b9c62ff9d1f..cb4b7ad66a51e698c89a4bc3450f27750c115ec5 100644
--- a/beemapi/version.py
+++ b/beemapi/version.py
@@ -1,2 +1,2 @@
 """THIS FILE IS GENERATED FROM beem SETUP.PY."""
-version = '0.19.48'
+version = '0.19.49'
diff --git a/beembase/version.py b/beembase/version.py
index d727f28ff28fceb0b5165823f0540b9c62ff9d1f..cb4b7ad66a51e698c89a4bc3450f27750c115ec5 100644
--- a/beembase/version.py
+++ b/beembase/version.py
@@ -1,2 +1,2 @@
 """THIS FILE IS GENERATED FROM beem SETUP.PY."""
-version = '0.19.48'
+version = '0.19.49'
diff --git a/beemgraphenebase/version.py b/beemgraphenebase/version.py
index d727f28ff28fceb0b5165823f0540b9c62ff9d1f..cb4b7ad66a51e698c89a4bc3450f27750c115ec5 100644
--- a/beemgraphenebase/version.py
+++ b/beemgraphenebase/version.py
@@ -1,2 +1,2 @@
 """THIS FILE IS GENERATED FROM beem SETUP.PY."""
-version = '0.19.48'
+version = '0.19.49'
diff --git a/examples/next_witness_block_coundown.py b/examples/next_witness_block_coundown.py
new file mode 100644
index 0000000000000000000000000000000000000000..3c6d83d208d2ce79db8578e270030511c03331e4
--- /dev/null
+++ b/examples/next_witness_block_coundown.py
@@ -0,0 +1,54 @@
+#!/usr/bin/python
+import sys
+from beem import Steem
+from beem.witness import Witness, WitnessesRankedByVote
+from time import sleep
+
+
+def convert_block_diff_to_time_string(block_diff_est):
+    next_block_s = int(block_diff_est) * 3
+    next_block_min = next_block_s / 60
+    next_block_h = next_block_min / 60
+    next_block_d = next_block_h / 24
+    time_diff_est = ""
+    if next_block_d > 1:
+        time_diff_est = "%.2f days" % next_block_d
+    elif next_block_h > 1:
+        time_diff_est = "%.2f hours" % next_block_h
+    elif next_block_min > 1:
+        time_diff_est = "%.2f minutes" % next_block_min
+    else:
+        time_diff_est = "%.2f seconds" % next_block_s
+    return time_diff_est
+
+
+if __name__ == "__main__":
+    if len(sys.argv) != 2:
+        witness = "holger80"
+    else:
+        witness = sys.argv[1]
+    stm = Steem()
+    witness = Witness(witness, steem_instance=stm)
+
+    witness_schedule = stm.get_witness_schedule()
+    config = stm.get_config()
+    if "VIRTUAL_SCHEDULE_LAP_LENGTH2" in config:
+        lap_length = int(config["VIRTUAL_SCHEDULE_LAP_LENGTH2"])
+    else:
+        lap_length = int(config["STEEM_VIRTUAL_SCHEDULE_LAP_LENGTH2"])
+    witnesses = WitnessesRankedByVote(limit=250, steem_instance=stm)
+    vote_sum = witnesses.get_votes_sum()
+
+    virtual_time_to_block_num = int(witness_schedule["num_scheduled_witnesses"]) / (lap_length / (vote_sum + 1))
+    while True:
+        witness.refresh()
+        witness_schedule = stm.get_witness_schedule(use_stored_data=False)
+
+        witness_json = witness.json()
+        virtual_diff = int(witness_json["virtual_scheduled_time"]) - int(witness_schedule['current_virtual_time'])
+        block_diff_est = virtual_diff * virtual_time_to_block_num
+
+        time_diff_est = convert_block_diff_to_time_string(block_diff_est)
+
+        sys.stdout.write("\r Next block for %s in %s" % (witness["owner"], time_diff_est))
+        sleep(30)
diff --git a/setup.py b/setup.py
index 5c7eafb4ecfcef8610b4e118c1acde676a001e55..827747e81605c603bb891d2bffab4d23a2658201 100755
--- a/setup.py
+++ b/setup.py
@@ -16,7 +16,7 @@ except LookupError:
     ascii = codecs.lookup('ascii')
     codecs.register(lambda name, enc=ascii: {True: enc}.get(name == 'mbcs'))
 
-VERSION = '0.19.48'
+VERSION = '0.19.49'
 
 tests_require = ['mock >= 2.0.0', 'pytest', 'pytest-mock', 'parameterized']