diff --git a/eossr/api/zenodo.py b/eossr/api/zenodo.py
index 36b0ef88592c5391094119715afd0f6fc567cad5..12d9c93bc7f9a7fd28fb626e829dd4c052dedcc1 100644
--- a/eossr/api/zenodo.py
+++ b/eossr/api/zenodo.py
@@ -311,7 +311,8 @@ class ZenodoAPI:
             parse_codemeta_and_write_zenodo_metadata_file(self.path_codemeta_file,
                                                           self.path_zenodo_metadata_file)
         else:
-            pass
+            print("\n ! NO codemeta.json file found. \n"
+                  "     Please add one to the ROOT directory of your project to ble able to perform the conversion.")
 
     def check_upload_to_zenodo(self):
         """
@@ -339,8 +340,7 @@ class ZenodoAPI:
             if self.exist_codemeta_file:
                 self.conversion_codemeta2zenodo()
             else:
-                print("\n ! NO codemeta.json NOR .zenodo.json file found. "
-                      "Please add one to the ROOT directory of your project.")
+                # No codemeta.json nor .zenodo.json
                 sys.exit(-1)
 
         print("\n * Using the .zenodo.json file to simulate a new upload to Zenodo... \n")
diff --git a/eossr/ci/__init__.py b/eossr/ci/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/eossr/metadata/__init__.py b/eossr/metadata/__init__.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..5836648be3aaa1be04656c7c2d73caa0affc5fbf 100644
--- a/eossr/metadata/__init__.py
+++ b/eossr/metadata/__init__.py
@@ -0,0 +1 @@
+from . import codemeta2zenodo
\ No newline at end of file
diff --git a/eossr/metadata/codemeta2zenodo.py b/eossr/metadata/codemeta2zenodo.py
index 8b204844ce0df5cb36bc74de0467433c662eb03b..373c9be07bddfc837198159c1cd7f8c474c23be4 100644
--- a/eossr/metadata/codemeta2zenodo.py
+++ b/eossr/metadata/codemeta2zenodo.py
@@ -50,7 +50,7 @@ def parse_person_schema_property(person_property, contributor_field):
     # Parse correctly the contributors
     if contributor_field in codemeta_contributors_fields:
 
-        if contributor_field == 'provider' or contributor_field == 'publisher':
+        if contributor_field in ['provider', 'publisher']:
             zenodo_person['type'] = 'Other'
         else:
             # First letter of contributor type MUST be capitalized
@@ -92,7 +92,7 @@ def add_author_metadata(zenodo_file, codemt_person_entry, person_field):
         full_contacts[zenodo_person['name']] = zenodo_person
 
     # then save each person by field and avoid duplicates
-    for person in full_contacts:
+    for person, value in full_contacts.items():
 
         if person_field in codemeta_creators_fields:
 
@@ -100,11 +100,8 @@ def add_author_metadata(zenodo_file, codemt_person_entry, person_field):
             if 'creators' not in zenodo_file:
                 zenodo_file['creators'] = []
 
-            if full_contacts[person] not in zenodo_file['creators']:
+            if value not in zenodo_file['creators']:
                 zenodo_file['creators'].append(full_contacts[person])
-            else:
-                pass  # avoid duplicates
-
         elif person_field in codemeta_contributors_fields:
 
             if 'contributors' not in zenodo_file:
@@ -112,8 +109,6 @@ def add_author_metadata(zenodo_file, codemt_person_entry, person_field):
 
             if full_contacts[person] not in zenodo_file['contributors']:
                 zenodo_file['contributors'].append(full_contacts[person])
-            else:
-                pass  # avoid duplicates
 
 
 def find_matching_metadata(codemeta_json):
@@ -171,11 +166,8 @@ def find_matching_metadata(codemeta_json):
 
     if 'softwareVersion' in codemeta_json and 'version' not in codemeta_json:
         metadata_zenodo['version'] = codemeta_json['softwareVersion']
-    elif 'version' in codemeta_json and 'softwareVersion' not in codemeta_json:
-        metadata_zenodo['version'] = codemeta_json['version']
     else:
         metadata_zenodo['version'] = codemeta_json['version']
-
     if 'keywords' in codemeta_json:
         if type(codemeta_json['keywords']) == list:
             metadata_zenodo['keywords'] = codemeta_json['keywords']
diff --git a/eossr/metadata/generator.py b/eossr/metadata/generator.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/eossr/metadata/tests/test_codemeta2zenodo.py b/eossr/metadata/tests/test_codemeta2zenodo.py
index 779360d50915c27ed6f72109f7c47270d586766e..13cbb4ff767820686022c13b4b19d75373bb17c8 100644
--- a/eossr/metadata/tests/test_codemeta2zenodo.py
+++ b/eossr/metadata/tests/test_codemeta2zenodo.py
@@ -2,6 +2,7 @@ import json
 import unittest
 import tempfile
 from os.path import dirname, realpath, join
+from eossr.metadata import codemeta2zenodo
 
 SAMPLES_DIR = join(dirname(realpath(__file__)), "samples")
 ROOT_DIR = dirname(realpath("codemeta.json"))
@@ -60,9 +61,8 @@ zenodo_entries = [
 
 
 def test_Codemeta2ZenodoController():
-    from eossr.metadata.codemeta2zenodo import CodeMeta2ZenodoController
 
-    converter = CodeMeta2ZenodoController()
+    converter = codemeta2zenodo.CodeMeta2ZenodoController()
     assert converter.codemeta_data == {}
     assert converter.zenodo_data == {}
 
@@ -84,41 +84,37 @@ def test_Codemeta2ZenodoController():
 
 
 def test_add_author_metadata():
-    from eossr.metadata.codemeta2zenodo import add_author_metadata, codemeta_allowed_person_fields
 
     with open(join(SAMPLES_DIR, "codemeta_contributors_sample.json")) as f:
         codemeta_metadata = json.load(f)
     zenodo_metadata = {}
 
-    assert all(person in codemeta_metadata.keys() for person in codemeta_allowed_person_fields)
+    assert all(person in codemeta_metadata.keys() for person in codemeta2zenodo.codemeta_allowed_person_fields)
 
-    for person in codemeta_allowed_person_fields:
-        add_author_metadata(zenodo_metadata,
-                            codemeta_metadata[person],
-                            person
-                            )
+    for person in codemeta2zenodo.codemeta_allowed_person_fields:
+        codemeta2zenodo.add_author_metadata(zenodo_metadata,
+                                            codemeta_metadata[person],
+                                            person
+                                            )
 
-    assert 'creators' in zenodo_metadata.keys()
+    assert 'creators' in zenodo_metadata
     # 4 'creators' one repeated, should not be duplicated.
     # Maintainer and Contributor. Author and Creator are the same person
     assert len(zenodo_metadata['creators']) == 3
 
-    assert 'contributors' in zenodo_metadata.keys()
+    assert 'contributors' in zenodo_metadata
     # Editor, Producer, Publisher, Provider and Sponsor
     assert len(zenodo_metadata['contributors']) == 5
 
 
 def test_parse_person_schema_property():
-    from eossr.metadata.codemeta2zenodo import \
-        parse_person_schema_property, \
-        codemeta_contributors_fields
 
     with open(join(SAMPLES_DIR, "codemeta_contributors_sample.json")) as f:
         codemeta_metadata = json.load(f)
 
-    for person in codemeta_contributors_fields:
-        zenodo_metadata = parse_person_schema_property(codemeta_metadata[person],
-                                                       person)
+    for person in codemeta2zenodo.codemeta_contributors_fields:
+        zenodo_metadata = codemeta2zenodo.parse_person_schema_property(codemeta_metadata[person],
+                                                                       person)
         if person == 'editor':
             assert zenodo_metadata['type'] == 'Editor'
         elif person == 'producer':
@@ -131,20 +127,18 @@ def test_parse_person_schema_property():
 
 class TestConverting(unittest.TestCase):
     def test_sample_file_conversion(self):
-        from eossr.metadata.codemeta2zenodo import parse_codemeta_and_write_zenodo_metadata_file
 
         outfile = tempfile.NamedTemporaryFile(delete=True)
-        parse_codemeta_and_write_zenodo_metadata_file(
+        codemeta2zenodo.parse_codemeta_and_write_zenodo_metadata_file(
             join(SAMPLES_DIR, "codemeta_sample1.json"), outfile.name
         )
 
         json.load(outfile)
 
     def test_root_codemeta_conversion(self):
-        from eossr.metadata.codemeta2zenodo import parse_codemeta_and_write_zenodo_metadata_file
 
         outfile = tempfile.NamedTemporaryFile(delete=True)
-        parse_codemeta_and_write_zenodo_metadata_file(
+        codemeta2zenodo.parse_codemeta_and_write_zenodo_metadata_file(
             join(ROOT_DIR, "codemeta.json"), outfile.name
         )
         json.load(outfile)
@@ -152,9 +146,8 @@ class TestConverting(unittest.TestCase):
 
 class TestLicense(unittest.TestCase):
     def test_license1(self):
-        from eossr.metadata.codemeta2zenodo import CodeMeta2ZenodoController
 
-        converter = CodeMeta2ZenodoController()
+        converter = codemeta2zenodo.CodeMeta2ZenodoController()
         converter.convert_license()
         assert 'license' not in converter.zenodo_data
 
diff --git a/eossr/metadata/validator.py b/eossr/metadata/validator.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000