diff --git a/tasks.py b/tasks.py
index 15027d7..673793b 100644
--- a/tasks.py
+++ b/tasks.py
@@ -5,6 +5,7 @@
 from __future__ import absolute_import, division, print_function
 
 import getpass
+import io
 import os
 import time
 
@@ -77,11 +78,11 @@
                 expected_size=int(response.headers["content-length"]),
                 filled_char="="
             )
-            content = b''
+            content = io.BytesIO()
             for data in response.iter_content(chunk_size=8192):
-                content += data
-                bar.show(len(content))
-                if bar.expected_size == len(content):
+                content.write(data)
+                bar.show(content.tell())
+                if bar.expected_size == content.tell():
                     bar.done()
             out_path = os.path.join(
                 os.path.dirname(__file__),
@@ -89,7 +90,7 @@
                 artifact["fileName"],
             )
             with open(out_path, "wb") as f:
-                f.write(content)
+                f.write(content.getvalue())
             paths.append(out_path)
     return paths
 
