diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs
index 8378be52304b2c7773574cc36c9037e2946833a9..1f8f333ec94f6feb24e75477c19af9242c7f178e 100644
--- a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs	
+++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs	
@@ -305,49 +305,42 @@ namespace ETSI.ARF.WorldStorage.UI
 
         public void PaintWorldStorage()
         {
-            WorldAnchorRequest.GetWorldAnchorsAsync(worldStorageServer, (response) =>
+
+            List<WorldAnchor> worldAnchors = WorldAnchorRequest.GetWorldAnchorsSync(worldStorageServer);
+            foreach (WorldAnchor worldAnchor in worldAnchors)
             {
-                List<WorldAnchor> worldAnchors = response.result;
-                foreach (WorldAnchor worldAnchor in worldAnchors)
-                {
-                    var waNode = new ARFNodeWorldAnchor(worldAnchor);
+                var waNode = new ARFNodeWorldAnchor(worldAnchor);
 
-                    Rect posTemp = new(26, 93, 160, 77);
-                    SaveInfo.instance.nodePositions.TryGetValue(worldAnchor.UUID.ToString(), out posTemp);
-                    waNode.SetPosition(posTemp);
+                Rect posTemp = new(26, 93, 160, 77);
+                SaveInfo.instance.nodePositions.TryGetValue(worldAnchor.UUID.ToString(), out posTemp);
+                waNode.SetPosition(posTemp);
 
-                    AddElement(waNode);
-                }
-            });
+                AddElement(waNode);
+            }
 
-            TrackableRequest.GetTrackablesAsync(worldStorageServer, (response) =>
+            List<Trackable> trackables = TrackableRequest.GetTrackablesSync(worldStorageServer);
+            foreach (Trackable trackable in trackables)
             {
-                List<Trackable> trackables = response.result;
-                foreach (Trackable trackable in trackables)
-                {
-                    var tracknode = new ARFNodeTrackable(trackable);
+                var tracknode = new ARFNodeTrackable(trackable);
 
-                    Rect posTemp = new(26, 93, 160, 77);
-                    SaveInfo.instance.nodePositions.TryGetValue(trackable.UUID.ToString(), out posTemp);
-                    tracknode.SetPosition(posTemp);
+                Rect posTemp = new(26, 93, 160, 77);
+                SaveInfo.instance.nodePositions.TryGetValue(trackable.UUID.ToString(), out posTemp);
+                tracknode.SetPosition(posTemp);
 
-                    AddElement(tracknode);
-                }
-            });
-
-            WorldLinkRequest.GetWorldLinksAsync(worldStorageServer, (response) =>
+                AddElement(tracknode);
+            }
+            List<WorldLink> worldLinks = WorldLinkRequest.GetWorldLinksSync(worldStorageServer);
+            foreach (WorldLink worldLink in worldLinks)
             {
-                List<WorldLink> worldLinks = response.result;
-                foreach (WorldLink worldLink in worldLinks)
-                {
-                    var portPair = GetPortsFromWorldLink(worldLink);
-                    ARFEdgeLink edge = portPair.Key.ConnectTo<ARFEdgeLink>(portPair.Value);
-                    edge.worldLink = worldLink;
-                    edge.GUID = worldLink.UUID.ToString();
-
-                    AddElement(edge);
-                }
-            });
+                Debug.Log("ports");
+                var portPair = GetPortsFromWorldLink(worldLink);
+                Debug.Log("edge " + (portPair.Key == null)+   "  " + (portPair.Value == null));
+                ARFEdgeLink edge = portPair.Key.ConnectTo<ARFEdgeLink>(portPair.Value);
+                edge.worldLink = worldLink;
+                edge.GUID = worldLink.UUID.ToString();
+
+                AddElement(edge);
+            }
         }
 
         internal ARFNodeTrackable CreateTrackableNode(Trackable track, float posX, float posY)
@@ -479,14 +472,14 @@ namespace ETSI.ARF.WorldStorage.UI
         }
 
         //
-        // Résumé :
+        // R�sum�:
         //     Calculate the rectangle size and position to fit all elements in graph.
         //
-        // Paramètres :
+        // Param�tres�:
         //   container:
         //     This should be the view container.
         //
-        // Retourne :
+        // Retourne�:
         //     The calculated rectangle.
         public override Rect CalculateRectToFitAll(VisualElement container)
         {
diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldGraphWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldGraphWindow.cs
index a3600e5b82e7ebead4cfcbc1e4c608acb44eba25..1a5e621df865f18c47340f4a4297c887583a71e1 100644
--- a/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldGraphWindow.cs	
+++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldGraphWindow.cs	
@@ -240,55 +240,49 @@ namespace ETSI.ARF.WorldStorage.Editor.Windows
             worldStorageUser = user;
 
             instance.nodePositions = new Dictionary<string, Rect>();
-            TrackableRequest.GetTrackablesAsync(worldStorageServer, (response) =>
+
+            List<Trackable> listT = TrackableRequest.GetTrackablesSync(worldStorageServer);
+            foreach (Trackable track in listT)
             {
-                List<Trackable> list = response.result;
-                foreach (Trackable track in list)
+                if (track.KeyvalueTags.ContainsKey("unityAuthoringPosX") && track.KeyvalueTags.ContainsKey("unityAuthoringPosY"))
                 {
-                    if (track.KeyvalueTags.ContainsKey("unityAuthoringPosX") && track.KeyvalueTags.ContainsKey("unityAuthoringPosY"))
-                    {
-                        var posX = RoundToNearestHalf(float.Parse(track.KeyvalueTags["unityAuthoringPosX"][0]));
-                        var posY = RoundToNearestHalf(float.Parse(track.KeyvalueTags["unityAuthoringPosY"][0]));
-                        Rect trackPos = new(posX, posY, 135, 77);
-                        instance.nodePositions[track.UUID.ToString()] = trackPos;
-                    }
-                    else
-                    {
-                        Rect trackPos = new(0, 0, 135, 77);
-                        instance.nodePositions[track.UUID.ToString()] = trackPos;
-                    }
+                    var posX = RoundToNearestHalf(float.Parse(track.KeyvalueTags["unityAuthoringPosX"][0]));
+                    var posY = RoundToNearestHalf(float.Parse(track.KeyvalueTags["unityAuthoringPosY"][0]));
+                    Rect trackPos = new(posX, posY, 135, 77);
+                    instance.nodePositions[track.UUID.ToString()] = trackPos;
                 }
-            });
+                else
+                {
+                    Rect trackPos = new(0, 0, 135, 77);
+                    instance.nodePositions[track.UUID.ToString()] = trackPos;
+                }
+            }
 
-            WorldAnchorRequest.GetWorldAnchorsAsync(worldStorageServer, (response) =>
+            List<WorldAnchor> listA = WorldAnchorRequest.GetWorldAnchorsSync(worldStorageServer);
+            Debug.Log("Anchors " +listA.Count);
+            foreach (WorldAnchor wa in listA)
             {
-                List<WorldAnchor> list = response.result;
-                foreach (WorldAnchor wa in list)
+                if (wa.KeyvalueTags.ContainsKey("unityAuthoringPosX") && wa.KeyvalueTags.ContainsKey("unityAuthoringPosY"))
                 {
-                    if (wa.KeyvalueTags.ContainsKey("unityAuthoringPosX") && wa.KeyvalueTags.ContainsKey("unityAuthoringPosY"))
-                    {
-                        var posX = RoundToNearestHalf(float.Parse(wa.KeyvalueTags["unityAuthoringPosX"][0]));
-                        var posY = RoundToNearestHalf(float.Parse(wa.KeyvalueTags["unityAuthoringPosY"][0]));
-                        Rect waPos = new(posX, posY, 135, 77);
-                        instance.nodePositions[wa.UUID.ToString()] = waPos;
-                    }
-                    else
-                    {
-                        Rect trackPos = new(0, 0, 135, 77);
-                        instance.nodePositions[wa.UUID.ToString()] = trackPos;
-                    }
+                    var posX = RoundToNearestHalf(float.Parse(wa.KeyvalueTags["unityAuthoringPosX"][0]));
+                    var posY = RoundToNearestHalf(float.Parse(wa.KeyvalueTags["unityAuthoringPosY"][0]));
+                    Rect waPos = new(posX, posY, 135, 77);
+                    instance.nodePositions[wa.UUID.ToString()] = waPos;
+                }
+                else
+                {
+                    Rect trackPos = new(0, 0, 135, 77);
+                    instance.nodePositions[wa.UUID.ToString()] = trackPos;
                 }
-            });
+            }
+
 
             instance.linkIds = new List<string>();
-            WorldLinkRequest.GetWorldLinksAsync(worldStorageServer, (response) =>
+            List<WorldLink> listWL = WorldLinkRequest.GetWorldLinksSync(worldStorageServer);
+            foreach (WorldLink link in listWL)
             {
-                List<WorldLink> list = response.result;
-                foreach (WorldLink link in list)
-                {
-                    instance.linkIds.Add(link.UUID.ToString());
-                }
-            });
+                instance.linkIds.Add(link.UUID.ToString());
+            }
 
             instance.elemsToRemove = new Dictionary<string, Type>();
             instance.elemsToUpdate = new List<string>();
diff --git a/Packages/unity-world-storage-package b/Packages/unity-world-storage-package
index cebe3c24911db848f91ced30955be6bca4974a71..5e91e32387700c0c852878e84c2098af794d2ac7 160000
--- a/Packages/unity-world-storage-package
+++ b/Packages/unity-world-storage-package
@@ -1 +1 @@
-Subproject commit cebe3c24911db848f91ced30955be6bca4974a71
+Subproject commit 5e91e32387700c0c852878e84c2098af794d2ac7