diff --git a/src/caosadvancedtools/export_related.py b/src/caosadvancedtools/export_related.py
index ebc3dac50c825371aade6a24d294ff87d3fdd9d0..1c32106a6db7881d529f8eb28f7a6b31c313154c 100644
--- a/src/caosadvancedtools/export_related.py
+++ b/src/caosadvancedtools/export_related.py
@@ -35,6 +35,7 @@ import os
 import caosdb as db
 from caosdb.apiutils import retrieve_entities_with_ids
 from caosdb.common.datatype import get_id_of_datatype, is_reference
+from lxml import etree
 
 
 def get_ids_of_related_entities(entity):
diff --git a/src/caosadvancedtools/import_from_xml.py b/src/caosadvancedtools/import_from_xml.py
index 29c97ad79c8d4ce671cfd83a219bcf23b24949a4..8e17d8e0c38c51bd5aaf16a9addf39d839e51406 100644
--- a/src/caosadvancedtools/import_from_xml.py
+++ b/src/caosadvancedtools/import_from_xml.py
@@ -35,7 +35,7 @@ import caosdb as db
 from caosmodels.data_model import DataModel
 from lxml import etree
 
-from export_related import apply_to_ids
+RERUN = False
 
 
 def create_dummy_file(text="Please ask the administrator for this file."):
@@ -76,22 +76,27 @@ def main(filename):
     # TODO why is this necessary?
 
     new_files = []
+    print(files)
 
-    for fi in files:
-        new = db.File(file=fi.file, path=fi.path, name=fi.name, id=fi.id,
-                      description=fi.description)
+    if not RERUN:
+        for fi in files:
+            new = db.File(file=fi.file, path=fi.path, name=fi.name, id=fi.id,
+                          description=fi.description)
 
-        for p in fi.parents:
-            new.add_parent(p)
-        new_files.append(new)
-
-    files = new_files
+            for p in fi.parents:
+                new.add_parent(p)
+            new_files.append(new)
+    else:
+        for fi in files:
+            new = db.File(path=fi.path, id=fi.id)
+            new_files.append(new)
 
     # remove entities of the model from the container
 
     for el in model+files:
         cont.remove(el)
-        cont.remove(fi)
+
+    files = new_files
 
     id_mapping = {}
 
@@ -105,9 +110,15 @@ def main(filename):
 
     # insert files
 
-    for i, el in enumerate(files):
-        id_mapping[el.id] = el
-        el.insert(unique=False)
+    if not RERUN:
+        for i, el in enumerate(files):
+            print(el)
+            r = el.insert(unique=False)
+            print(r)
+    else:
+        for i, el in enumerate(files):
+            el.id = None
+            el.retrieve()
 
     def replace_by_new(old):
         if old in id_mapping:
@@ -118,7 +129,7 @@ def main(filename):
     # set the ids of already inserted entities in the container
 
     for el in cont:
-        apply_to_ids(el, replace_by_new)
+        el.apply_to_ids(replace_by_new)
 
     cont.insert(unique=False)
 
diff --git a/src/caosadvancedtools/table_converter.py b/src/caosadvancedtools/table_converter.py
index c2d0ac38cd59826c384a053d2e32ffcc6eafa9e5..76f4dfcdb5f040d81d923289a7a730806ad8681b 100644
--- a/src/caosadvancedtools/table_converter.py
+++ b/src/caosadvancedtools/table_converter.py
@@ -24,9 +24,8 @@ import argparse
 import re
 import sys
 
-import pandas as pd
-
 import caosdb as db
+import pandas as pd
 
 
 def from_tsv(filename, recordtype):
@@ -81,6 +80,10 @@ def from_table(spreadsheet, recordtype):
         rec.add_parent(name=recordtype)
 
         for key, value in row.iteritems():
+            if key.lower() == "description":
+                rec.description = value
+                continue
+
             if (pd.notnull(value) and
                     (not isinstance(value, str) or value.strip() != "")):
                 regexp = r"(.*)\[(.*)\].*"