diff --git a/Create_JupyterKernel.ipynb b/Create_JupyterKernel.ipynb
index d20d9f5eb63a874e3aa02041523adc8b4859f261..fa72972fcdbe57c1f1e616edd606ea905819a5e6 100644
--- a/Create_JupyterKernel.ipynb
+++ b/Create_JupyterKernel.ipynb
@@ -32,7 +32,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "* Set new kernel name\n",
+    "* Set kernel name\n",
     "  - change if you like"
    ]
   },
@@ -42,16 +42,19 @@
    "metadata": {},
    "outputs": [],
    "source": [
+    "# INPUT NEEDED:\n",
     "export KERNEL_NAME=${USER}_kernel\n",
-    "echo ${KERNEL_NAME}"
+    "\n",
+    "echo ${KERNEL_NAME} # double check"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "* Set directory for kernels virtual environment\n",
-    "  - change if you like"
+    "* Set kernel type\n",
+    "    - private kernel = \"\\${HOME}/.local/\"  \n",
+    "    - project kernel  = \"\\${PROJECT}/.local/\"  "
    ]
   },
   {
@@ -60,19 +63,36 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "export KERNEL_VENVS_DIR=${PROJECT}/${USER}/jupyter/kernels/\n",
-    "mkdir -p ${KERNEL_VENVS_DIR}\n",
-    "echo ${KERNEL_VENVS_DIR}"
+    "# INPUT NEEDED:\n",
+    "export KERNEL_TYPE=private # private or project\n",
+    "\n",
+    "###################\n",
+    "# private kernel\n",
+    "if [ \"${KERNEL_TYPE}\" == \"private\" ]; then\n",
+    "  export KERNEL_SPECS_PREFIX=${HOME}/.local\n",
+    "  echo \"private kernel\"\n",
+    "# project kernel\n",
+    "else\n",
+    "  export KERNEL_SPECS_PREFIX=${PROJECT}/.local\n",
+    "  echo \"project kernel\"\n",
+    "fi\n",
+    "export KERNEL_SPECS_DIR=${KERNEL_SPECS_PREFIX}/share/jupyter/kernels\n",
+    "\n",
+    "# check if kernel name is unique\n",
+    "if [ -d \"${KERNEL_SPECS_DIR}/${KERNEL_NAME}\" ]; then\n",
+    "  echo \"ERROR: Kernel already exists in ${KERNEL_SPECS_DIR}/${KERNEL_NAME}\"\n",
+    "  echo \"       Rename kernel name or remove directory.\"\n",
+    "fi\n",
+    "\n",
+    "echo ${KERNEL_SPECS_DIR}/${KERNEL_NAME} # double check"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "* Set location of kernel spec\n",
-    "  - select one:\n",
-    "    - personal kernel = \"\\${HOME}/.local/\"  \n",
-    "    - project kernel  = \"\\${PROJECT}/.local/\"  "
+    "* Set directory for kernels virtual environment\n",
+    "  - change if you like"
    ]
   },
   {
@@ -81,9 +101,17 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "export KERNEL_SPECS_DIR=${HOME}/.local/\n",
-    "#export KERNEL_SPECS_DIR=${PROJECT}/.local/\n",
-    "echo ${KERNEL_SPECS_DIR}"
+    "# INPUT NEEDED:\n",
+    "export KERNEL_VENVS_DIR=${PROJECT}/${USER}/jupyter/kernels\n",
+    "\n",
+    "###################\n",
+    "mkdir -p ${KERNEL_VENVS_DIR}\n",
+    "if [ \"${KERNEL_TYPE}\" != \"private\" ]; then\n",
+    "  echo \"Please check the permissions and ensure your project partners have read/execute permissions:\"\n",
+    "  namei -l ${KERNEL_VENVS_DIR}\n",
+    "fi\n",
+    "\n",
+    "echo ${KERNEL_VENVS_DIR} # double check"
    ]
   },
   {
@@ -115,9 +143,10 @@
    "source": [
     "module -q purge\n",
     "module -q use $OTHERSTAGES        \n",
-    "module -q load Stages/Devel-2019a 2> /dev/null\n",
+    "module -q load Stages/Devel-2019a 2> /dev/null # any stage can be used\n",
     "module -q load GCCcore/.8.3.0     2> /dev/null\n",
-    "module -q load Jupyter"
+    "module -q load Python/3.6.8                    # only Python is required\n",
+    "module list # double check"
    ]
   },
   {
@@ -153,7 +182,7 @@
     "python -m venv --system-site-packages ${KERNEL_VENVS_DIR}/${KERNEL_NAME}\n",
     "source ${KERNEL_VENVS_DIR}/${KERNEL_NAME}/bin/activate\n",
     "export PYTHONPATH=${VIRTUAL_ENV}/lib/python3.6/site-packages:${PYTHONPATH}\n",
-    "echo ${VIRTUAL_ENV}"
+    "echo ${VIRTUAL_ENV} # double check"
    ]
   },
   {
@@ -169,7 +198,9 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "pip install --ignore-installed ipykernel"
+    "which pip\n",
+    "pip install --ignore-installed ipykernel\n",
+    "ls ${VIRTUAL_ENV}/lib/python3.6/site-packages/ # double check"
    ]
   },
   {
@@ -222,7 +253,7 @@
     "module load $OTHERSTAGES'\"\n",
     "module load Stages/Devel-2019a\n",
     "module load GCCcore/.8.3.0\n",
-    "module load Jupyter\n",
+    "module load Python/3.6.8\n",
     "\n",
     "# Load extra modules you need for your kernel (as you did in step 1.2)\n",
     "#module load <module you need>\n",
@@ -264,7 +295,8 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "python -m ipykernel install --name=${KERNEL_NAME} --prefix ${KERNEL_SPECS_DIR}"
+    "python -m ipykernel install --name=${KERNEL_NAME} --prefix ${VIRTUAL_ENV}\n",
+    "export VIRTUAL_ENV_KERNELS=${VIRTUAL_ENV}/share/jupyter/kernels"
    ]
   },
   {
@@ -280,10 +312,9 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "mv ${KERNEL_SPECS_DIR}/share/jupyter/kernels/${KERNEL_NAME}/kernel.json ${KERNEL_SPECS_DIR}/share/jupyter/kernels/${KERNEL_NAME}/kernel.json.orig\n",
+    "mv ${VIRTUAL_ENV_KERNELS}/${KERNEL_NAME}/kernel.json ${VIRTUAL_ENV_KERNELS}/${KERNEL_NAME}/kernel.json.orig\n",
     "\n",
-    "echo '\n",
-    "{\n",
+    "echo '{\n",
     "  \"argv\": [\n",
     "    \"'${KERNEL_VENVS_DIR}/${KERNEL_NAME}/kernel.sh'\",\n",
     "    \"-m\",\n",
@@ -293,7 +324,25 @@
     "  ],\n",
     "  \"display_name\": \"'${KERNEL_NAME}'\",\n",
     "  \"language\": \"python\"\n",
-    "}' > ${KERNEL_SPECS_DIR}/share/jupyter/kernels/${KERNEL_NAME}/kernel.json"
+    "}' > ${VIRTUAL_ENV_KERNELS}/${KERNEL_NAME}/kernel.json"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "* 3.3 - Create link to kernel specs"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "cd ${KERNEL_SPECS_DIR}\n",
+    "ln -s ${VIRTUAL_ENV_KERNELS}/${KERNEL_NAME} .\n",
+    "ls ${KERNEL_SPECS_DIR} # double check"
    ]
   },
   {
@@ -302,6 +351,22 @@
    "source": [
     "---"
    ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## 4. Cleanup"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "deactivate"
+   ]
   }
  ],
  "metadata": {