diff --git a/notebooks/FINN-HowToAnalysisPass.ipynb b/notebooks/FINN-HowToAnalysisPass.ipynb
index 2bf36f163503c03298661aa83b20245432aef22c..66a91495f3a5fa2960998362fd2d1a278743066f 100644
--- a/notebooks/FINN-HowToAnalysisPass.ipynb
+++ b/notebooks/FINN-HowToAnalysisPass.ipynb
@@ -6,10 +6,9 @@
    "source": [
     "# FINN - Analysis passes\n",
     "--------------------------------------\n",
-    "\n",
-    "* traverses the graph structure and produces information about certain properties\n",
-    "* input: ModelWrapper\n",
-    "* return dictionary of named properties that the analysis extracts"
+    "* <font size=\"3\">traverses the graph structure and produces information about certain properties</font>\n",
+    "* <font size=\"3\">input: ModelWrapper</font>\n",
+    "* <font size=\"3\">return dictionary of named properties that the analysis extracts</font>"
    ]
   },
   {
@@ -17,22 +16,37 @@
    "metadata": {},
    "source": [
     "## Example - Quantity analysis of nodes in onnx graph\n",
-    "----------------------------------------------------------------------"
+    "----------------------------------------------------------------------\n",
+    "<font size=\"3\">Purpose of this analysis pass is to return the number of similar nodes in a dictionary. So first an onnx model is loaded. In this example a trained brevitas model is used. It was exported from brevitas and saved as .onnx file. With the help of `import onnx` the load function can be accessed. As argument it takes the model path.</font>\n"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 1,
    "metadata": {},
    "outputs": [],
    "source": [
     "import onnx\n",
-    "onnx_model = onnx.load('LFC.onnx')"
+    "onnx_model = onnx.load('LFCW1A1.onnx')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**Here a picture or a call for onnx_model in netron**"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<font size=\"3\">The onnx model has to be converted to a format that can be processed by FINN. This is done with ModelWrapper. As described in the short introduction, this is the format an analysis pass takes as input.</font>"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -44,12 +58,12 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "**Here a picture or a call for onnx_model in netron**"
+    "<font size=\"3\">The idea is to count all nodes that have the same operation type. The result should contain the operation types and the corresponding number of nodes that occur in the model. At the beginning an empty dictionary is created which is filled by the function and returned as result to the user at the end of the analysis.</font>"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -63,9 +77,16 @@
     "    return count_dict"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<font size=\"3\">The function takes the model as input and iterates over the nodes. Then it is checked whether there is already an entry for the operation type in the dictionary. If this is not the case, an entry is created and set to `1`. If there is already an entry, it is incremented. If all nodes in the model have been iterated, the filled dictionary is returned.</font>"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [
     {