diff --git a/docs/releases/v2.14.0.md b/docs/releases/v2.14.0.md
index 4c561f6b408a2ff8638c89edb9ae15906d6434bd..0215d4838cb99fc8991f87a827cafa7ff969f74a 100644
--- a/docs/releases/v2.14.0.md
+++ b/docs/releases/v2.14.0.md
@@ -3,8 +3,10 @@
 ## Feature
 
 - added `[p]` and `[n]` as keyboard shortcut to navigate previous/next slice
-- experimental support for other versions of regions
 - show template and parcellation info even if the chip are hidden
+- experimental support for other versions of regions
+- experimental support for drag/drop pointcloud `.json` files
+- experimental support for `deepzoom://` source format
 
 ## Behind the scenes
 
diff --git a/src/viewerModule/nehuba/userLayers/service.ts b/src/viewerModule/nehuba/userLayers/service.ts
index 0a960972f7f7b2770826ae1bdd970fa250e6ef3d..91634c4021ba13c3e244a6152d2f40c2e6c228f2 100644
--- a/src/viewerModule/nehuba/userLayers/service.ts
+++ b/src/viewerModule/nehuba/userLayers/service.ts
@@ -12,7 +12,7 @@ import { AtlasWorkerService } from "src/atlasViewer/atlasViewer.workerService.se
 import { RouterService } from "src/routerModule/router.service"
 import * as atlasAppearance from "src/state/atlasAppearance"
 import { EnumColorMapName } from "src/util/colorMaps"
-import { getShader, getShaderFromMeta } from "src/util/fn"
+import { getShader, getShaderFromMeta, noop } from "src/util/fn"
 import { getExportNehuba, getUuid } from "src/util/fn"
 import { UserLayerInfoCmp } from "./userlayerInfo/userlayerInfo.component"
 import { translateV3Entities } from "src/atlasComponents/sapi/translateV3"
@@ -88,12 +88,13 @@ export class UserLayerService implements OnDestroy {
       option: {
         type: 'segmentation',
         transform: xform,
-        segments: ["1"]
+        segments: ["1"],
       },
       url,
       protocol: "swc://",
       meta: {
-        filename: file.name
+        filename: file.name,
+        message,
       },
       cleanup: () => URL.revokeObjectURL(url)
     }
@@ -179,7 +180,7 @@ export class UserLayerService implements OnDestroy {
     }).toPromise()
     
     return {
-      cleanup: () => {},
+      cleanup: noop,
       meta: {
         filename: url
       },
@@ -199,7 +200,7 @@ export class UserLayerService implements OnDestroy {
     const url = source.replace("deepzoom://", "")
     const scaleFactor = 1e2
     return {
-      cleanup: () => {},
+      cleanup: noop,
       meta: {
         filename: `deepzoom://${url}`
       },