diff --git a/eossr/scripts/eossr_upload_directory.py b/eossr/scripts/eossr_upload_directory.py
index 13d20be3ba4dea2590e097a08695a8a8e136bca9..5d28a9e078644e3790e2623c07fca21cb9d05a37 100644
--- a/eossr/scripts/eossr_upload_directory.py
+++ b/eossr/scripts/eossr_upload_directory.py
@@ -1,29 +1,19 @@
 #!/usr/bin/env python
 
-import tempfile
-import shutil
+
 import argparse
-from pathlib import Path
 from distutils.util import strtobool
 from eossr.api.zenodo import ZenodoAPI
 
-# TODO: rename into upload_directory
-# TODO: make another script upload_repository that will zip repo content and check if a similar record already exists
-
-def upload(zenodo_token, sandbox_flag, input_directory, record_id=None, erase_previous_files=True):
 
+def upload(zenodo_token, sandbox_flag, input_directory, record_id=None, metadata=None, erase_previous_files=True):
     zenodo = ZenodoAPI(access_token=zenodo_token, sandbox=sandbox_flag, proj_root_dir=input_directory)
 
-    zenodo.upload_dir_content(input_directory, )
-
-    # with tempfile.TemporaryDirectory() as tmpdir:
-    #     zenodo.zip_root_dir(zip_filename=Path(tmpdir).joinpath(f'{Path(input_directory).absolute().name}.zip'))
-    #     if zenodo.path_codemeta_file.exists():
-    #         shutil.copy(zenodo.path_codemeta_file, tmpdir)
-    #
-    #     new_record_id = zenodo.upload_dir_content(tmpdir, record_id=record_id)
-    #
-    # return new_record_id
+    return zenodo.upload_dir_content(input_directory,
+                                     record_id=record_id,
+                                     metadata=metadata,
+                                     erase_previous_files=erase_previous_files,
+                                     )
 
 
 def main():
@@ -44,7 +34,9 @@ def main():
                         dest='sandbox_flag',
                         help='Set the Zenodo environment.'
                              'True to use the sandbox, False (default) to use Zenodo.',
-                        default=False)
+                        default=False,
+                        required=False,
+                        )
 
     parser.add_argument('--input-dir', '-i', type=str,
                         dest='input_directory',
@@ -52,12 +44,18 @@ def main():
                              'All files will be uploaded.',
                         required=True)
 
-    parser.add_argument('--record_id', '-id', type=str,
+    parser.add_argument('--record-id', '-id', type=str,
                         dest='record_id',
                         help='record_id of the deposit that is going to be updated by a new version',
                         default=None,
                         required=False)
 
+    parser.add_argument('--erase-old-files', type=lambda x: bool(strtobool(x)),
+                        dest='erase_old_files',
+                        help='erase files from the previous record version (if a record-id has been passed)',
+                        default=True,
+                        required=False)
+
     args = parser.parse_args()
 
     new_record_id = upload(args.zenodo_token, args.sandbox_flag, args.input_directory, args.record_id)