diff --git a/docker/webtop/north-guacamole-client b/docker/webtop/north-guacamole-client
index 5db00ee2e62ccf1bde11ed7c82fe8eedd609537f..b965bc735ab48ce7c21676e616b32d3fa8fd69fc 160000
--- a/docker/webtop/north-guacamole-client
+++ b/docker/webtop/north-guacamole-client
@@ -1 +1 @@
-Subproject commit 5db00ee2e62ccf1bde11ed7c82fe8eedd609537f
+Subproject commit b965bc735ab48ce7c21676e616b32d3fa8fd69fc
diff --git a/docker/xps/Dockerfile b/docker/xps/Dockerfile
index 436f59e069f7e7af64e261340ef3c2b6f86941b0..e327906144d96b204f8e1dffb0868c6062d89194 100644
--- a/docker/xps/Dockerfile
+++ b/docker/xps/Dockerfile
@@ -9,5 +9,5 @@ RUN pip install -r requirements.txt \
     && jupyter lab build \
     && jupyter nbextension enable --py widgetsnbextension \
     && jupyter serverextension enable jupyterlab_h5web \
-    && pip install git+https://github.com/nomad-coe/nomad-parser-nexus.git@XPS_datamodel_with_cls_AP1
-RUN rm requirements.txt
\ No newline at end of file
+    && pip install git+https://github.com/nomad-coe/nomad-parser-nexus.git@XPS_datamodel_V_new
+RUN rm requirements.txt
diff --git a/docker/xps/docker-compose.yml b/docker/xps/docker-compose.yml
index 53fea18ad649ac2a311d89616bba3d79e3e10961..8700a73552fde25dde8fd25e9e5f767350508291 100644
--- a/docker/xps/docker-compose.yml
+++ b/docker/xps/docker-compose.yml
@@ -1,10 +1,11 @@
 version: "3.9"
 
+#image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/xps-jupyter 
 services:
   xps:
-    image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/xps-jupyter 
+    image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/xps-jupyter:0.1
     ports:
       - 8888:8888
     volumes:
       - ./example:/home/jovyan/work
-    working_dir: /home/jovyan/work
\ No newline at end of file
+    working_dir: /home/jovyan/work
diff --git a/docker/xps/example/config_file.json b/docker/xps/example/config_file.json
index 2756b2b559136a7d67359f12bb7f4a77a96b1895..155cfda038a9469a9f6a6f6785cc2bebb53acf08 100644
--- a/docker/xps/example/config_file.json
+++ b/docker/xps/example/config_file.json
@@ -1,17 +1,42 @@
+
 {
-    "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/description": "hemispherical",
-    "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/COLLECTIONCOLUMN[collectioncolumn]/scheme": "Angular dispersive",
-    "/ENTRY[entry]/INSTRUMENT[instrument]/BEAM[beam]/distance": "0.0",
-    "/ENTRY[entry]/INSTRUMENT[instrument]/BEAM[beam]/distance/@units": "mm",
-    "/ENTRY[entry]/INSTRUMENT[instrument]/SOURCE[source]/type": "Synchrotron X-ray Source",
-    "/ENTRY[entry]/INSTRUMENT[instrument]/SOURCE[source]/probe": "x-ray",
-    "/ENTRY[entry]/SAMPLE[sample]/preparation_description": "Sample comes from third party",
-    "/ENTRY[entry]/SAMPLE[sample]/temperature": "298",
-    "/ENTRY[entry]/SAMPLE[sample]/temperature/@units": "K",
-    "/ENTRY[entry]/SAMPLE[sample]/situation": "vacuum",
-    "/ENTRY[entry]/SAMPLE[sample]/gas_pressure": "101325",
-    "/ENTRY[entry]/SAMPLE[sample]/gas_pressure/@units": "Pa",
-    "/ENTRY[entry]/start_time": "2022-04-08T11:47:02.0200Z",
-    "/ENTRY[entry]/USER[user]/name": "Ahmed Mansour",
-    "/ENTRY[entry]/USER[user]/email": "amansour@physik.hu-berlin.de"
+"/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/description": "@eln",
+"/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/name": "@xps_tocken:analyzer_info/name",
+"/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/ENERGYDISPERSION[energydispersion]/entrance_slit": "@xps_tocken:region/analyzer_slit",
+"/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/ENERGYDISPERSION[energydispersion]/scheme": "@eln",
+"/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/ENERGYDISPERSION[energydispersion]/pass_energy": "@xps_tocken:region/pass_energy",
+"/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/ENERGYDISPERSION[energydispersion]/pass_energy/@units": "eV",
+"/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/ENERGYDISPERSION[energydispersion]/energy_scan_mode": "@xps_tocken:region/scan_mode/name",
+"/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/DETECTOR[detector]/DATA[data]/raw": "@detector_data:cycles/Cycle_",
+"/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/DETECTOR[detector]/DATA[data]/raw/@units": "counts",
+"/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/DETECTOR[detector]/amplifier_type": "channeltron",
+"/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/DETECTOR[detector]/detector_type": "multi-anode",
+"/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/COLLECTIONCOLUMN[collectioncolumn]/scheme": "@eln",
+"/ENTRY[entry]/INSTRUMENT[instrument]/BEAM[beam]/distance": "@eln",
+"/ENTRY[entry]/INSTRUMENT[instrument]/BEAM[beam]/distance/@units": "@eln",
+"/ENTRY[entry]/INSTRUMENT[instrument]/BEAM[beam]/incident_energy": "@xps_tocken:region/excitation_energy",
+"/ENTRY[entry]/INSTRUMENT[instrument]/BEAM[beam]/incident_energy/@units": "eV",
+"/ENTRY[entry]/INSTRUMENT[instrument]/energy_resolution": "@xps_tocken:region/scan_delta",
+"/ENTRY[entry]/INSTRUMENT[instrument]/energy_resolution/@units": "eV",
+"/ENTRY[entry]/INSTRUMENT[instrument]/SOURCE[source]/type": "@eln",
+"/ENTRY[entry]/INSTRUMENT[instrument]/SOURCE[source]/name": "@xps_tocken:source_info/name",
+"/ENTRY[entry]/INSTRUMENT[instrument]/SOURCE[source]/probe": "@eln",
+"/ENTRY[entry]/SAMPLE[sample]/name": "@xps_tocken:parameters/Group",
+"/ENTRY[entry]/SAMPLE[sample]/preparation_description": "@eln",
+"/ENTRY[entry]/SAMPLE[sample]/temperature": "@eln",
+"/ENTRY[entry]/SAMPLE[sample]/temperature/@units": "@eln",
+"/ENTRY[entry]/SAMPLE[sample]/situation": "@eln",
+"/ENTRY[entry]/SAMPLE[sample]/gas_pressure": "@eln",
+"/ENTRY[entry]/SAMPLE[sample]/gas_pressure/@units": "@eln",
+"/ENTRY[entry]/DATA[data]/@signal": "",
+"/ENTRY[entry]/DATA[data]/data": "@data:cycles/Cycle_",
+"/ENTRY[entry]/DATA[data]/data/@units": "counts",
+"/ENTRY[entry]/DATA[data]/EB": "counts",
+"/ENTRY[entry]/DATA[data]/EB/@units": "eV",
+"/ENTRY[entry]/title": "@eln",
+"/ENTRY[entry]/start_time": "@eln",
+"/ENTRY[entry]/definition": "@eln",
+"/ENTRY[entry]/definition/@version": "@eln",
+"/ENTRY[entry]/USER[user]/name": "@eln",
+"/ENTRY[entry]/USER[user]/email": "@eln"
 }
\ No newline at end of file
diff --git a/docker/xps/example/eln_data.yaml b/docker/xps/example/eln_data.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..923bf971a0de409c2ea8f94dfad13833906190d0
--- /dev/null
+++ b/docker/xps/example/eln_data.yaml
@@ -0,0 +1,51 @@
+Instrument:
+  Analyser:
+    Collectioncolumn:
+      scheme: "Angular dispersive"
+      mode: "Unknown"
+    description: "hemispherical"
+    name: null
+    Energydispersion:
+      entrance_slit: "Unknown"
+      scheme: "hemispherical"
+      pass_energy:
+        unit: null
+    Detector:
+      amplifier_type: "channeltron"
+      detector_type: "Multi-anode"
+  Beam:
+    distance:
+      unit: "mm"
+      value: 0.0
+  energy_resolution:
+    unit: null
+    value: null
+  Source:
+    type: "Synchrotron X-ray Source"
+    probe: "x-ray"
+Sample:
+  name: null
+  preparation_description: "From third party"
+  temperature:
+    unit: "K"
+    value: 298.0
+  situation: "vacuum"
+  gas_pressure:
+    unit: "Pa"
+    value: 101325.0
+start_time: null
+definition:
+  version: null
+  value: null
+title: "XPS Experiment"
+start_time: "2022-04-08T11:47:02.0200Z"
+definition:
+  value: "NXmpes"
+  version: 1.0
+User:
+  name: "Ahmed Mansour"
+  email: "amansour@physik.hu-berlin.de"
+Data:
+  BE:
+    unit: null
+
diff --git a/docker/xps/requirements.txt b/docker/xps/requirements.txt
old mode 100755
new mode 100644
index 984f13ecb642f2c4c0fb08a0d40fe22a00fa4ba7..d8015c069a911892c61b670e572c9d23bfe01d02
--- a/docker/xps/requirements.txt
+++ b/docker/xps/requirements.txt
@@ -1,25 +1,23 @@
 #
-# This file is autogenerated by pip-compile with Python 3.10
-# by the following command:
+# This file is autogenerated by pip-compile with python 3.7
+# To update, run:
 #
-#    pip-compile
+#    pip-compile --output-file=requirements.txt pyproject.toml
 #
 anyio==3.6.2
     # via jupyter-server
 argon2-cffi==21.3.0
-    # via
-    #   jupyter-server
-    #   nbclassic
+    # via jupyter-server
 argon2-cffi-bindings==21.2.0
     # via argon2-cffi
-asteval==0.9.28
-    # via lmfit
-asttokens==2.2.1
-    # via stack-data
-attrs==22.1.0
+asciitree==0.3.3
+    # via zarr
+ase==3.22.1
+    # via nexusutils (pyproject.toml)
+astroid==2.12.13
+    # via nexusutils (pyproject.toml)
+attrs==22.2.0
     # via jsonschema
-babel==2.11.0
-    # via jupyterlab-server
 backcall==0.2.0
     # via ipython
 beautifulsoup4==4.11.1
@@ -29,292 +27,374 @@ bleach==5.0.1
 certifi==2022.12.7
     # via requests
 cffi==1.15.1
-    # via
-    #   argon2-cffi-bindings
-    #   pynacl
+    # via argon2-cffi-bindings
 charset-normalizer==2.1.1
     # via requests
-comm==0.1.2
-    # via ipykernel
+click==8.1.3
+    # via nexusutils (pyproject.toml)
+cloudpickle==2.2.0
+    # via dask
+cycler==0.11.0
+    # via matplotlib
+dask[array]==2022.2.0
+    # via hyperspy
 debugpy==1.6.4
     # via ipykernel
 decorator==5.1.1
-    # via ipython
+    # via
+    #   ipyparallel
+    #   ipython
 defusedxml==0.7.1
     # via nbconvert
-deprecated==1.2.13
-    # via pygithub
+dill==0.3.6
+    # via hyperspy
 entrypoints==0.4
-    # via jupyter-client
-executing==1.2.0
-    # via stack-data
+    # via
+    #   ipyparallel
+    #   jupyter-client
+    #   numcodecs
+fasteners==0.18
+    # via zarr
 fastjsonschema==2.16.2
     # via nbformat
-future==0.18.2
-    # via uncertainties
-h5glance==0.8
-    # via -r requirements.in
-h5grove==1.1.0
+flatdict==4.0.1
+    # via nexusutils (pyproject.toml)
+fonttools==4.38.0
+    # via matplotlib
+fsspec==2022.11.0
     # via
-    #   -r requirements.in
-    #   jupyterlab-h5web
+    #   dask
+    #   hyperspy
+future==0.18.2
+    # via h5py-wrapper
+h5grove==1.2.0
+    # via jupyterlab-h5web
 h5py==3.7.0
     # via
-    #   h5glance
     #   h5grove
-    #   hdf5plugin
-    #   punx
-hdf5plugin==4.0.1
-    # via jupyterlab-h5web
-htmlgen==2.0.0
-    # via h5glance
+    #   h5py-wrapper
+    #   hyperspy
+    #   jupyterlab-h5web
+    #   nexusutils (pyproject.toml)
+h5py-wrapper==1.1.0
+    # via hdfdict
+hdfdict @ git+https://github.com/shabihsherjeel/hdfdict@f48a586
+    # via nexusutils (pyproject.toml)
+hyperspy==1.7.3
+    # via nexusutils (pyproject.toml)
 idna==3.4
     # via
     #   anyio
     #   requests
-ipykernel==6.19.2
+imageio==2.23.0
+    # via
+    #   hyperspy
+    #   scikit-image
+importlib-metadata==5.2.0
     # via
-    #   ipywidgets
-    #   nbclassic
-ipython==8.7.0
+    #   click
+    #   hyperspy
+    #   jsonschema
+    #   nbconvert
+    #   nbformat
+    #   numba
+    #   pint
+    #   prettytable
+    #   xarray
+importlib-resources==5.10.2
+    # via jsonschema
+ipykernel==6.16.2
+    # via ipyparallel
+ipyparallel==8.4.1
+    # via hyperspy
+ipython==7.34.0
     # via
+    #   hyperspy
     #   ipykernel
-    #   ipywidgets
-    #   jupyterlab
-ipython-genutils==0.2.0
-    # via nbclassic
-ipywidgets==8.0.3
-    # via -r requirements.in
+    #   ipyparallel
 jedi==0.18.2
     # via ipython
 jinja2==3.1.2
     # via
+    #   hyperspy
     #   jupyter-server
-    #   jupyterlab
-    #   jupyterlab-server
-    #   nbclassic
     #   nbconvert
-json5==0.9.10
-    # via jupyterlab-server
 jsonschema==4.17.3
-    # via
-    #   jupyterlab-server
-    #   nbformat
+    # via nbformat
 jupyter-client==7.4.8
     # via
     #   ipykernel
+    #   ipyparallel
     #   jupyter-server
-    #   nbclassic
     #   nbclient
-jupyter-core==5.1.0
+jupyter-core==4.12.0
     # via
     #   jupyter-client
     #   jupyter-server
-    #   jupyterlab
-    #   nbclassic
     #   nbclient
     #   nbconvert
     #   nbformat
-jupyter-server==1.23.3
-    # via
-    #   jupyterlab
-    #   jupyterlab-h5web
-    #   jupyterlab-server
-    #   nbclassic
-    #   notebook-shim
-jupyterlab[full]==3.2.9
-    # via -r requirements.in
-jupyterlab-h5web[full]==6.0.0
-    # via -r requirements.in
+jupyter-server==1.23.4
+    # via jupyterlab-h5web
+jupyterlab-h5web==6.5.0
+    # via nexusutils (pyproject.toml)
 jupyterlab-pygments==0.2.2
     # via nbconvert
-jupyterlab-server==2.16.5
-    # via jupyterlab
-jupyterlab-widgets==3.0.4
-    # via ipywidgets
-lmfit==1.1.0
-    # via -r requirements.in
-lxml==4.9.1
-    # via
-    #   punx
-    #   pyresttable
+kiwisolver==1.4.4
+    # via matplotlib
+lazy-object-proxy==1.8.0
+    # via astroid
+llvmlite==0.39.1
+    # via numba
+locket==1.0.0
+    # via partd
 markupsafe==2.1.1
     # via
     #   jinja2
     #   nbconvert
+matplotlib==3.5.3
+    # via
+    #   ase
+    #   hyperspy
 matplotlib-inline==0.1.6
     # via
     #   ipykernel
     #   ipython
 mistune==2.0.4
     # via nbconvert
-nbclassic==0.4.8
-    # via jupyterlab
+mpmath==1.2.1
+    # via sympy
+natsort==8.2.0
+    # via hyperspy
 nbclient==0.7.2
     # via nbconvert
-nbconvert==7.2.6
-    # via
-    #   jupyter-server
-    #   nbclassic
-nbformat==5.7.0
+nbconvert==7.2.7
+    # via jupyter-server
+nbformat==5.7.1
     # via
     #   jupyter-server
-    #   nbclassic
     #   nbclient
     #   nbconvert
 nest-asyncio==1.5.6
     # via
     #   ipykernel
     #   jupyter-client
-    #   nbclassic
-nodejs==0.1.1
-    # via -r requirements.in
-notebook-shim==0.2.2
-    # via nbclassic
-numpy==1.23.5
+networkx==2.6.3
+    # via scikit-image
+numba==0.56.4
     # via
+    #   hyperspy
+    #   sparse
+numcodecs==0.10.2
+    # via zarr
+numexpr==2.8.4
+    # via hyperspy
+numpy==1.21.6
+    # via
+    #   ase
+    #   dask
     #   h5grove
     #   h5py
-    #   lmfit
-    #   punx
-    #   pyresttable
+    #   hyperspy
+    #   imageio
+    #   matplotlib
+    #   nexusutils (pyproject.toml)
+    #   numba
+    #   numcodecs
+    #   numexpr
+    #   pandas
+    #   pywavelets
+    #   scikit-image
     #   scipy
+    #   sparse
     #   tifffile
-optional-django==0.1.0
-    # via nodejs
+    #   xarray
+    #   zarr
 orjson==3.8.3
     # via h5grove
 packaging==22.0
     # via
+    #   dask
+    #   hyperspy
     #   ipykernel
     #   jupyter-server
-    #   jupyterlab
-    #   jupyterlab-server
+    #   matplotlib
     #   nbconvert
+    #   pint
+    #   scikit-image
+pandas==1.3.5
+    # via
+    #   nexusutils (pyproject.toml)
+    #   xarray
 pandocfilters==1.5.0
     # via nbconvert
 parso==0.8.3
     # via jedi
+partd==1.3.0
+    # via dask
 pexpect==4.8.0
     # via ipython
 pickleshare==0.7.5
     # via ipython
-platformdirs==2.6.0
-    # via jupyter-core
-plotly==5.11.0
-    # via -r requirements.in
-prometheus-client==0.15.0
+pillow==9.3.0
     # via
-    #   jupyter-server
-    #   nbclassic
+    #   imageio
+    #   matplotlib
+    #   scikit-image
+pint==0.18
+    # via hyperspy
+pkgutil-resolve-name==1.3.10
+    # via jsonschema
+prettytable==3.5.0
+    # via hyperspy
+prometheus-client==0.15.0
+    # via jupyter-server
 prompt-toolkit==3.0.36
     # via ipython
 psutil==5.9.4
-    # via ipykernel
+    # via
+    #   ipykernel
+    #   ipyparallel
 ptyprocess==0.7.0
     # via
     #   pexpect
     #   terminado
-punx==0.2.5
-    # via -r requirements.in
-pure-eval==0.2.2
-    # via stack-data
 pycparser==2.21
     # via cffi
-pygithub==1.57
-    # via punx
 pygments==2.13.0
     # via
     #   ipython
     #   nbconvert
-pyjwt==2.6.0
-    # via pygithub
-pynacl==1.5.0
-    # via pygithub
-pyresttable==2020.0.6
-    # via punx
-pyrsistent==0.19.2
+pyparsing==3.0.9
+    # via matplotlib
+pyrsistent==0.19.3
     # via jsonschema
+pytest-runner==6.0.0
+    # via h5py-wrapper
 python-dateutil==2.8.2
-    # via jupyter-client
-pytz==2022.6
-    # via babel
+    # via
+    #   hyperspy
+    #   ipyparallel
+    #   jupyter-client
+    #   matplotlib
+    #   pandas
+pytz==2022.7
+    # via
+    #   nexusutils (pyproject.toml)
+    #   pandas
+pywavelets==1.3.0
+    # via scikit-image
+pyyaml==6.0
+    # via
+    #   dask
+    #   hdfdict
+    #   hyperspy
+    #   nexusutils (pyproject.toml)
 pyzmq==24.0.1
     # via
     #   ipykernel
+    #   ipyparallel
     #   jupyter-client
     #   jupyter-server
-    #   nbclassic
 requests==2.28.1
+    # via hyperspy
+scikit-image==0.19.3
+    # via hyperspy
+scipy==1.7.3
     # via
-    #   jupyterlab-server
-    #   punx
-    #   pygithub
-scipy==1.9.3
-    # via lmfit
+    #   ase
+    #   hyperspy
+    #   scikit-image
+    #   sparse
 send2trash==1.8.0
-    # via
-    #   jupyter-server
-    #   nbclassic
+    # via jupyter-server
 six==1.16.0
     # via
-    #   asttokens
     #   bleach
     #   python-dateutil
 sniffio==1.3.0
     # via anyio
 soupsieve==2.3.2.post1
     # via beautifulsoup4
-stack-data==0.6.2
-    # via ipython
-tenacity==8.1.0
-    # via plotly
+sparse==0.13.0
+    # via hyperspy
+sympy==1.10.1
+    # via hyperspy
 terminado==0.17.1
+    # via jupyter-server
+tifffile==2021.11.2
     # via
-    #   jupyter-server
-    #   nbclassic
-tifffile==2022.10.10
-    # via h5grove
+    #   h5grove
+    #   hyperspy
+    #   scikit-image
 tinycss2==1.2.1
     # via nbconvert
+toolz==0.12.0
+    # via
+    #   dask
+    #   hyperspy
+    #   partd
 tornado==6.2
     # via
     #   ipykernel
+    #   ipyparallel
     #   jupyter-client
     #   jupyter-server
-    #   jupyterlab
-    #   nbclassic
     #   terminado
-traitlets==5.7.1
+tqdm==4.64.1
+    # via
+    #   hyperspy
+    #   ipyparallel
+traitlets==5.8.0
     # via
-    #   comm
     #   ipykernel
+    #   ipyparallel
     #   ipython
-    #   ipywidgets
     #   jupyter-client
     #   jupyter-core
     #   jupyter-server
     #   matplotlib-inline
-    #   nbclassic
     #   nbclient
     #   nbconvert
     #   nbformat
-uncertainties==3.1.7
-    # via lmfit
+traits==6.4.1
+    # via hyperspy
+typed-ast==1.5.4
+    # via
+    #   astroid
+    #   nexusutils (pyproject.toml)
+typing-extensions==4.4.0
+    # via
+    #   anyio
+    #   argon2-cffi
+    #   astroid
+    #   importlib-metadata
+    #   jsonschema
+    #   kiwisolver
+    #   numcodecs
+    #   xarray
 urllib3==1.26.13
     # via requests
 wcwidth==0.2.5
-    # via prompt-toolkit
+    # via
+    #   prettytable
+    #   prompt-toolkit
 webencodings==0.5.1
     # via
     #   bleach
     #   tinycss2
 websocket-client==1.4.2
     # via jupyter-server
-widgetsnbextension==4.0.4
-    # via ipywidgets
 wrapt==1.14.1
-    # via deprecated
+    # via astroid
+xarray==0.20.2
+    # via nexusutils (pyproject.toml)
+zarr==2.12.0
+    # via hyperspy
+zipp==3.11.0
+    # via
+    #   importlib-metadata
+    #   importlib-resources
 
 # The following packages are considered to be unsafe in a requirements file:
-# pip
+# setuptools
diff --git a/tools.json b/tools.json
index afc7f50dcd9ba143f93af46360b227fc95dd7582..2266ada97d9dca842283ce1ae6ea755b451cbd96 100644
--- a/tools.json
+++ b/tools.json
@@ -95,11 +95,11 @@
     },
     "xps": {
         "short_description": "An example for analyzing XPS data.",
-        "description": "Includes tools for analyzing XPS spectra and converting SPECS xml files into NeXus.",
-        "image": "gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/xps-jupyter",
+        "description": "Includes tools for analyzing X-ray Photoelectron Spectroscopy (XPS) spectra and converting SPECS xml files into NeXus.",
+        "image": "gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/xps-jupyter:0.1",
         "path_prefix": "lab/tree",
-        "mount_path": "/home/jovyan",
-        "icon": "jupyter_logo.svg",
+	"icon": "jupyter_logo.svg",
+	"mount_path": "/home/jovyan",
         "file_extensions": [
             "ipynb",
             "nxs",
@@ -110,6 +110,10 @@
             {
                 "name": "Florian Dobener",
                 "email": "florian.dobener@physik.hu-berlin.de"
+            },
+            {
+                "name": "Rubel Mozumder",
+                "email": "rubel.mozumder@physik.hu-berlin.de"
             }
         ]
     },
@@ -176,4 +180,4 @@
             }
         ]
     }
-}
\ No newline at end of file
+}