diff --git a/openapi b/openapi
index 57adeb471026ccc88074889aefbe68ef692cb0ca..84f816367c469b590cb2db47a4bb1b06b56729f9 160000
--- a/openapi
+++ b/openapi
@@ -1 +1 @@
-Subproject commit 57adeb471026ccc88074889aefbe68ef692cb0ca
+Subproject commit 84f816367c469b590cb2db47a4bb1b06b56729f9
diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/TrackablesImpl.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/TrackablesImpl.cs
index 9d8d06bbaba60daf5dd8c9c586575300d0cb334b..5845b1007de4267f86043862fe47cb1b59a963fd 100644
--- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/TrackablesImpl.cs
+++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/TrackablesImpl.cs
@@ -73,7 +73,11 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
             try
             {
                 Trackable mytrackable = _trackableService.Create(trackable);
-                return StatusCode(200, mytrackable.UUID.ToString());
+                if (mytrackable == null)
+                {
+                    return StatusCode(409, "UUID already existing!");
+                }
+                else return StatusCode(200, mytrackable.UUID.ToString());
             }
             catch (Exception e)
             {
@@ -100,7 +104,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
             {
                 worldlinkinfo += worldlink.UUID.ToString() + "; ";
                 worldlink.UUIDFrom = Guid.Empty;
-                worldlink.TypeFrom = ObjectType.NotIdentifiedEnum;
+                worldlink.TypeFrom = TypeWorldStorage.UNKNOWNEnum;
                 _worldLinkService.Replace(worldlink);
             }
 
@@ -110,7 +114,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
             {
                 worldlinkinfo += worldlink.UUID.ToString() + "; ";
                 worldlink.UUIDTo = Guid.Empty;
-                worldlink.TypeTo = ObjectType.NotIdentifiedEnum;
+                worldlink.TypeTo = TypeWorldStorage.UNKNOWNEnum;
                 _worldLinkService.Replace(worldlink);
             }
             if (worldlinkinfo.Length > 1)
diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldAnchorsImpl.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldAnchorsImpl.cs
index 97189a09776d36bdacf12cf61e8e8a2294bb08b4..8d5e48bc1d4b4c1de5cb1c04f80f34d6dcc39ce6 100644
--- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldAnchorsImpl.cs
+++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldAnchorsImpl.cs
@@ -73,7 +73,11 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
             try
             {
                 WorldAnchor myworldanchor = _worldAnchorService.Create(worldAnchor);
-                return StatusCode(200, myworldanchor.UUID.ToString());
+                if (myworldanchor == null)
+                {
+                    return StatusCode(409, "UUID alread exexisting!");
+                }
+                else return StatusCode(200, myworldanchor.UUID.ToString());
             }
             catch (Exception e)
             {
@@ -100,7 +104,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
             {
                 worldlinkinfo += worldlink.UUID.ToString() + "; ";
                 worldlink.UUIDFrom = Guid.Empty;
-                worldlink.TypeFrom = ObjectType.NotIdentifiedEnum;
+                worldlink.TypeFrom = TypeWorldStorage.UNKNOWNEnum;
                 _worldLinkService.Replace(worldlink);
             }
 
@@ -110,7 +114,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
             {
                 worldlinkinfo += worldlink.UUID.ToString() + "; ";
                 worldlink.UUIDTo = Guid.Empty;
-                worldlink.TypeTo = ObjectType.NotIdentifiedEnum;
+                worldlink.TypeTo = TypeWorldStorage.UNKNOWNEnum;
                 _worldLinkService.Replace(worldlink);
             }
             if (worldlinkinfo.Length > 1)
diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldLinksImpl.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldLinksImpl.cs
index 9bbb36264772d44d4faa32c8eb7f2488297d08a0..cd5da8ac57a90b905ce163c9ef5423f5920f9db4 100644
--- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldLinksImpl.cs
+++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldLinksImpl.cs
@@ -72,7 +72,11 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
             try
             {
                 WorldLink myworldlink = _worldLinkService.Create(worldLink);
-                return StatusCode(200, myworldlink.UUID.ToString());
+                if (myworldlink == null)
+                {
+                    return StatusCode(409, "UUID already existing!");
+                }
+                else return StatusCode(200, myworldlink.UUID.ToString());
             }
             catch (Exception e)
             {
@@ -103,36 +107,36 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
             if (null != myworldlink)
             {
                 // check TypeFrom
-                if (myworldlink.TypeFrom == ObjectType.TrackableEnum)
+                if (myworldlink.TypeFrom == TypeWorldStorage.TRACKABLEEnum)
                 {
                     if (null == _trackableService.Get(myworldlink.UUIDFrom))
                     {
-                        myworldlink.TypeFrom = ObjectType.NotIdentifiedEnum;
+                        myworldlink.TypeFrom = TypeWorldStorage.UNKNOWNEnum;
                         myworldlink.UUIDFrom = Guid.Empty;
                     }
                 }
-                else if (myworldlink.TypeFrom == ObjectType.WorldAnchorEnum)
+                else if (myworldlink.TypeFrom == TypeWorldStorage.ANCHOREnum)
                 {
                     if (null == _worldAnchorService.Get(myworldlink.UUIDFrom))
                     {
-                        myworldlink.TypeFrom = ObjectType.NotIdentifiedEnum;
+                        myworldlink.TypeFrom = TypeWorldStorage.UNKNOWNEnum;
                         myworldlink.UUIDFrom = Guid.Empty;
                     }
                 }
                 // check TypeTo
-                if (myworldlink.TypeTo == ObjectType.TrackableEnum)
+                if (myworldlink.TypeTo == TypeWorldStorage.TRACKABLEEnum)
                 {
                     if (null == _trackableService.Get(myworldlink.UUIDTo))
                     {
-                        myworldlink.TypeTo = ObjectType.NotIdentifiedEnum;
+                        myworldlink.TypeTo = TypeWorldStorage.UNKNOWNEnum;
                         myworldlink.UUIDTo = Guid.Empty;
                     }
                 }
-                else if (myworldlink.TypeTo == ObjectType.WorldAnchorEnum)
+                else if (myworldlink.TypeTo == TypeWorldStorage.ANCHOREnum)
                 {
                     if (null == _worldAnchorService.Get(myworldlink.UUIDTo))
                     {
-                        myworldlink.TypeTo = ObjectType.NotIdentifiedEnum;
+                        myworldlink.TypeTo = TypeWorldStorage.UNKNOWNEnum;
                         myworldlink.UUIDTo = Guid.Empty;
                     }
                 }
@@ -153,36 +157,36 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
             foreach (WorldLink myworldlink in worldlinklist)
             {
                 // check TypeFrom
-                if (myworldlink.TypeFrom == ObjectType.TrackableEnum)
+                if (myworldlink.TypeFrom == TypeWorldStorage.TRACKABLEEnum)
                 {
                     if (null == _trackableService.Get(myworldlink.UUIDFrom))
                     {
-                        myworldlink.TypeFrom = ObjectType.NotIdentifiedEnum;
+                        myworldlink.TypeFrom = TypeWorldStorage.UNKNOWNEnum;
                         myworldlink.UUIDFrom = Guid.Empty;
                     }
                 }
-                else if (myworldlink.TypeFrom == ObjectType.WorldAnchorEnum)
+                else if (myworldlink.TypeFrom == TypeWorldStorage.ANCHOREnum)
                 {
                     if (null == _worldAnchorService.Get(myworldlink.UUIDFrom))
                     {
-                        myworldlink.TypeFrom = ObjectType.NotIdentifiedEnum;
+                        myworldlink.TypeFrom = TypeWorldStorage.UNKNOWNEnum;
                         myworldlink.UUIDFrom = Guid.Empty;
                     }
                 }
                 // check TypeTo
-                if (myworldlink.TypeTo == ObjectType.TrackableEnum)
+                if (myworldlink.TypeTo == TypeWorldStorage.TRACKABLEEnum)
                 {
                     if (null == _trackableService.Get(myworldlink.UUIDTo))
                     {
-                        myworldlink.TypeTo = ObjectType.NotIdentifiedEnum;
+                        myworldlink.TypeTo = TypeWorldStorage.UNKNOWNEnum;
                         myworldlink.UUIDTo = Guid.Empty;
                     }
                 }
-                else if (myworldlink.TypeTo == ObjectType.WorldAnchorEnum)
+                else if (myworldlink.TypeTo == TypeWorldStorage.ANCHOREnum)
                 {
                     if (null == _worldAnchorService.Get(myworldlink.UUIDTo))
                     {
-                        myworldlink.TypeTo = ObjectType.NotIdentifiedEnum;
+                        myworldlink.TypeTo = TypeWorldStorage.UNKNOWNEnum;
                         myworldlink.UUIDTo = Guid.Empty;
                     }
                 }
diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/Startup.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/Startup.cs
index af7fb23731c976057ec3d636a31fe5d2c4e8cc5f..2978f0ad5a5b4b25c7cbc8693f1673badfdf250c 100644
--- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/Startup.cs
+++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/Startup.cs
@@ -92,8 +92,8 @@ namespace ETSI.ARF.OpenAPI.WorldStorage
             //
 
             // appsetting.json - requires using Microsoft.Extensions.Options
-            services.Configure<DatabaseSettings>(Configuration.GetSection(nameof(DatabaseSettings)));
-
+            IServiceCollection c = services.Configure<DatabaseSettings>(Configuration.GetSection(nameof(DatabaseSettings)));
+            
             //
             // MongoDB
             //
@@ -104,7 +104,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage
             services.AddSingleton<TrackableService>();
             services.AddSingleton<WorldAnchorService>();
             services.AddSingleton<WorldLinkService>();
-
+            
             // Add framework services.
             services
                 // Don't need the full MVC stack for an API, see https://andrewlock.net/comparing-startup-between-the-asp-net-core-3-templates/
@@ -160,6 +160,13 @@ namespace ETSI.ARF.OpenAPI.WorldStorage
         /// <param name="env"></param>
         public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
         {
+            //
+            // Initialize all ARF services
+            //
+            app.ApplicationServices.GetRequiredService<TrackableService>();
+            app.ApplicationServices.GetRequiredService<WorldAnchorService>();
+            app.ApplicationServices.GetRequiredService<WorldLinkService>();
+
             if (env.IsDevelopment())
             {
                 app.UseDeveloperExceptionPage();