diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactOrganizer.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactOrganizer.cs
index 753c1c6840fc9b971c347b820a8c5992106f31d7..48e937b367f56c5cdc3f5a7164badc44db36f6b8 100644
--- a/Assets/Scripts/InteractionEngine/FactHandling/FactOrganizer.cs
+++ b/Assets/Scripts/InteractionEngine/FactHandling/FactOrganizer.cs
@@ -89,11 +89,11 @@ public FactOrganizer(bool invoke = false)
         this.invoke = invoke;
     }
 
-    private static void FactOrganizerFromPublic(ref FactOrganizer set, PublicFactOrganizer exposed, bool invoke)
+    private static void FactOrganizerFromPublic(ref FactOrganizer set, PublicFactOrganizer exposed, bool invoke, out Dictionary<string, string> old_to_new)
     {
         // TODO: other strategy needed when MMT save/load supported
         // map old URIs to new ones
-        Dictionary<string, string> old_to_new = new Dictionary<string, string>();
+        old_to_new = new Dictionary<string, string>();
         // combine T:Fact to Fact
         Dictionary<string, Fact> old_FactDict = new Dictionary<string, Fact>();
 
@@ -486,8 +486,9 @@ public void store(string name, List<Directories> hierarchie = null, bool use_ins
         JSONManager.WriteToJsonFile(path, new PublicFactOrganizer(this), 0);
     }
 
-    public static bool load(ref FactOrganizer set, bool draw, string name, List<Directories> hierarchie = null, bool use_install_folder = false)
+    public static bool load(ref FactOrganizer set, bool draw, string name, List<Directories> hierarchie, bool use_install_folder, out Dictionary<string, string> old_to_new)
     {
+        old_to_new = null;
         hierarchie ??= new List<Directories>();
         hierarchie.AddRange(hierState.AsEnumerable());
 
@@ -497,7 +498,7 @@ public static bool load(ref FactOrganizer set, bool draw, string name, List<Dire
             return false;
 
         PublicFactOrganizer de_json = JSONManager.ReadFromJsonFile<PublicFactOrganizer>(path);
-        FactOrganizerFromPublic(ref set, de_json, draw);
+        FactOrganizerFromPublic(ref set, de_json, draw, out old_to_new);
 
         return true;
     }
diff --git a/Assets/Scripts/InteractionEngine/FactHandling/SolutionOrganizer.cs b/Assets/Scripts/InteractionEngine/FactHandling/SolutionOrganizer.cs
index ac1200f71c20e8548c1e32dedeba6d7cbd7acc92..de1d3076ce155e5f09e52d1e8d2ee14903ed883e 100644
--- a/Assets/Scripts/InteractionEngine/FactHandling/SolutionOrganizer.cs
+++ b/Assets/Scripts/InteractionEngine/FactHandling/SolutionOrganizer.cs
@@ -56,7 +56,7 @@ public static bool load(ref SolutionOrganizer set, bool draw, string name, List<
         FactOrganizer save = StageStatic.stage.factState;
         StageStatic.stage.factState = new SolutionOrganizer(false) as FactOrganizer;
 
-        loadable = FactOrganizer.load(ref StageStatic.stage.factState, draw, name + endingSol, hierarchie, use_install_folder);
+        loadable = FactOrganizer.load(ref StageStatic.stage.factState, draw, name + endingSol, hierarchie, use_install_folder, out Dictionary<string, string> old_to_new);
         if (loadable)
             set = (SolutionOrganizer) StageStatic.stage.factState;
 
@@ -69,10 +69,13 @@ public static bool load(ref SolutionOrganizer set, bool draw, string name, List<
         var JsonTmp = JSONManager.ReadFromJsonFile < List<(HashSet<string> MasterIDs, string ComparerString)> > (path);
         foreach (var element in JsonTmp)
         {
+            // Get all FactComparer
             var FactCompTypes = Assembly.GetExecutingAssembly().GetTypes().Where(typeof(FactComparer).IsAssignableFrom);
+            // Select and create FactComparer by name
             var typ = FactCompTypes.First(t => t.Name == element.ComparerString);
             FactComparer Comparer = Activator.CreateInstance(typ) as FactComparer;
-            set.ValidationSet.Add((element.MasterIDs, Comparer));
+            // Parse and add
+            set.ValidationSet.Add((new HashSet<string>(element.MasterIDs.Select(k => old_to_new[k])), Comparer));
         }
 
         return true;
diff --git a/Assets/Scripts/Loading/Stage.cs b/Assets/Scripts/Loading/Stage.cs
index 765c8455074f14ee0ca1b271819147ef5b9eff42..29cfeb7e31a3f6941e1bfa7e22e20fd872f97b7f 100644
--- a/Assets/Scripts/Loading/Stage.cs
+++ b/Assets/Scripts/Loading/Stage.cs
@@ -169,7 +169,7 @@ public bool DeepLoad()
 
 
         factState ??= new FactOrganizer(false);
-        loadable = FactOrganizer.load(ref factState, false, name, hierarchie, false);
+        loadable = FactOrganizer.load(ref factState, false, name, hierarchie, false, out _);
 
         hierarchie.RemoveRange(hierarchie.Count - hierStage.Count, hierStage.Count);
         return true;
diff --git a/Packages/manifest.json b/Packages/manifest.json
index 6e9d7a6443908d44559409a1b69902a4327bf80b..ed355067501ec00f317ccdd16d47f4d9c3acbfaf 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -3,8 +3,8 @@
     "com.unity.2d.sprite": "1.0.0",
     "com.unity.2d.tilemap": "1.0.0",
     "com.unity.ads": "3.7.5",
-    "com.unity.analytics": "3.5.3",
-    "com.unity.collab-proxy": "1.7.1",
+    "com.unity.analytics": "3.6.11",
+    "com.unity.collab-proxy": "1.9.0",
     "com.unity.ide.rider": "2.0.7",
     "com.unity.ide.visualstudio": "2.0.11",
     "com.unity.ide.vscode": "1.2.3",
@@ -12,7 +12,7 @@
     "com.unity.nuget.newtonsoft-json": "2.0.0",
     "com.unity.probuilder": "4.2.1",
     "com.unity.purchasing": "3.2.2",
-    "com.unity.test-framework": "1.1.27",
+    "com.unity.test-framework": "1.1.29",
     "com.unity.textmeshpro": "3.0.6",
     "com.unity.timeline": "1.4.8",
     "com.unity.toolchain.win-x86_64-linux-x86_64": "0.1.21-preview",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index c6fe66412f16c71d9fb99fb3b5027421a317709f..ec0f115c7095eaed356d2f3f10fa0ac6d84b2180 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -22,7 +22,7 @@
       "url": "https://packages.unity.com"
     },
     "com.unity.analytics": {
-      "version": "3.5.3",
+      "version": "3.6.11",
       "depth": 0,
       "source": "registry",
       "dependencies": {
@@ -31,12 +31,10 @@
       "url": "https://packages.unity.com"
     },
     "com.unity.collab-proxy": {
-      "version": "1.7.1",
+      "version": "1.9.0",
       "depth": 0,
       "source": "registry",
-      "dependencies": {
-        "com.unity.nuget.newtonsoft-json": "2.0.0"
-      },
+      "dependencies": {},
       "url": "https://packages.unity.com"
     },
     "com.unity.ext.nunit": {
@@ -133,7 +131,7 @@
       "url": "https://packages.unity.com"
     },
     "com.unity.test-framework": {
-      "version": "1.1.27",
+      "version": "1.1.29",
       "depth": 0,
       "source": "registry",
       "dependencies": {
diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt
index 2c2c446275283a443a16919a61f802a6a6f14408..565025152d1379cdfd30614c97f415ba2e1e926c 100644
--- a/ProjectSettings/ProjectVersion.txt
+++ b/ProjectSettings/ProjectVersion.txt
@@ -1,2 +1,2 @@
-m_EditorVersion: 2020.3.17f1
-m_EditorVersionWithRevision: 2020.3.17f1 (a4537701e4ab)
+m_EditorVersion: 2020.3.18f1
+m_EditorVersionWithRevision: 2020.3.18f1 (a7d1c678663c)