diff --git a/src/farmbot_yolo/download.py b/src/farmbot_yolo/download.py
index cc13be776b6adb1c4f548c5423ad9e6307402e26..28cec20cfae9831abade8d55784120044c6be41c 100644
--- a/src/farmbot_yolo/download.py
+++ b/src/farmbot_yolo/download.py
@@ -1,16 +1,14 @@
 """Download images from Farmbot instance."""
 import argparse
+import json
 import os
 from pathlib import Path
 from typing import List
-import json
 
 import requests
 
-from farmbot_yolo import creds
 from farmbot_yolo import TMPDIR
-
-
+from farmbot_yolo import creds
 
 IMG_FILE_SUFFIX = ".jpg"
 
@@ -50,7 +48,7 @@ def download_images(directory: os.PathLike, delete_after=False) -> List[str]:
     if len(json_response) < 1:
         return []
 
-    img_paths = []
+    created_files = []
 
     for img_dict in json_response:
         if "placehold.it" in img_dict["attachment_url"]:
@@ -89,7 +87,8 @@ def download_images(directory: os.PathLike, delete_after=False) -> List[str]:
             }
         }
 
-        with filepath.with_suffix(".json").open(mode="w") as fp:
+        metadata_filepath = filepath.with_suffix(".json")
+        with metadata_filepath.open(mode="w") as fp:
             json.dump(img_metadata_dict, fp)
 
         # post delete from cloud storage
@@ -99,6 +98,10 @@ def download_images(directory: os.PathLike, delete_after=False) -> List[str]:
                 headers=REQUEST_HEADERS,
             )
 
+        created_files.append((filepath, metadata_filepath))
+
+    return created_files
+
 
 if __name__ == "__main__":
     parser = argparse.ArgumentParser(description="Farmbot YOLO image downloader")
diff --git a/src/farmbot_yolo/request_token.py b/src/farmbot_yolo/request_token.py
index ef793f927a00fa57635ec4f13c74816e0a939bbd..4c9e726a043afe02f6c2bfbdcd0b0a2373af3d63 100644
--- a/src/farmbot_yolo/request_token.py
+++ b/src/farmbot_yolo/request_token.py
@@ -6,23 +6,28 @@ import argparse
 import json
 from urllib import request
 
+from farmbot_yolo import HERE
+
 parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
-parser.add_argument('--email', type=str, help="user email for token request")
-parser.add_argument('--password', type=str, help="user password for token request")
+parser.add_argument("--email", type=str, help="user email for token request")
+parser.add_argument("--password", type=str, help="user password for token request")
 opts = parser.parse_args()
 print("opts %s" % opts)
 
-auth_info = {'user': {'email': opts.email, 'password': opts.password }}
+auth_info = {"user": {"email": opts.email, "password": opts.password}}
 
-req = request.Request('https://my.farmbot.io/api/tokens')
-req.add_header('Content-Type', 'application/json')
-response = request.urlopen(req, data=json.dumps(auth_info).encode('utf-8'))
+req = request.Request("https://my.farmbot.io/api/tokens")
+req.add_header("Content-Type", "application/json")
+response = request.urlopen(req, data=json.dumps(auth_info).encode("utf-8"))
 
 token_info = json.loads(response.read().decode())
 
-print("mqtt host [%s]" % token_info['token']['unencoded']['mqtt'])
+print("mqtt host [%s]" % token_info["token"]["unencoded"]["mqtt"])
 
 print("rewriting creds.py")
-with open("creds.py", "w") as f:
-  f.write("device_id=\"%s\"\n" % token_info['token']['unencoded']['bot'])
-  f.write("token=\"%s\"\n" % token_info['token']['encoded'])
+
+creds_py_path = HERE / "creds.py"
+
+with creds_py_path.open(mode="w") as f:
+    f.write('device_id="%s"\n' % token_info["token"]["unencoded"]["bot"])
+    f.write('token="%s"\n' % token_info["token"]["encoded"])