From 7160c4d557078809cdda2bd62513fb64907827b1 Mon Sep 17 00:00:00 2001
From: amyheather <a.heather2@exeter.ac.uk>
Date: Fri, 4 Oct 2024 15:20:56 +0100
Subject: [PATCH 1/7] docs(README): :memo: amended README to be relevant to
 tutorial (instead of being the template README)

---
 README.md | 168 ++++++++++++------------------------------------------
 1 file changed, 35 insertions(+), 133 deletions(-)

diff --git a/README.md b/README.md
index 14e0e83..38a9ccd 100644
--- a/README.md
+++ b/README.md
@@ -1,158 +1,60 @@
-[![lite-badge](https://jupyterlite.rtfd.io/en/latest/_static/badge.svg)](https://pythonhealthdatascience.github.io/stars-simpy-jupterlite/notebooks/?path=01_urgent_care_model.ipynb)
+[![lite-badge](https://jupyterlite.rtfd.io/en/latest/_static/badge.svg)](https://pythonhealthdatascience.github.io/intro-open-sim/lab/index.html)
 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
-[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10987817.svg)](https://doi.org/10.5281/zenodo.10987817)
-[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/release/python-3100/)
-[![License: MIT](https://img.shields.io/badge/ORCID-0000--0001--5274--5037-brightgreen)](https://orcid.org/0000-0001-5274-5037)
-[![License: MIT](https://img.shields.io/badge/ORCID-0000--0003--2631--4481-brightgreen)](https://orcid.org/0000-0003-2631-4481)
+[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/release/python-3100/)
+[![ORCID: Alison Harper](https://img.shields.io/badge/ORCID:_Alison_Harper-0000--0001--5274--5037-brightgreen)](https://orcid.org/0000-0001-5274-5037)
+[![ORCID: Tom Monks](https://img.shields.io/badge/ORCID:_Tom_Monks-0000--0003--2631--4481-brightgreen)](https://orcid.org/0000-0003-2631-4481)
+[![ORCID: Amy Heather](https://img.shields.io/badge/ORCID:_Amy_Heather-0000--0002--6596--3479-brightgreen)](https://orcid.org/0000-0002-6596-3479)
 
-#  An introduction to Discrete-Event Simulation using Free and Open Source Software.
+#  An introduction to Discrete-Event Simulation (DES) using Free and Open Source Software
 
-> Work in progress.  This is a STARS project being prepared for [SW25](https://www.theorsociety.com/ORS/ORS/Events/2025/Simulation-Workshop/SW25.aspx)
+> Work in progress.  This is a STARS project being prepared for the [Operational Research Society 12th Simulation Workshop in 2025 (SW25)](https://www.theorsociety.com/ORS/ORS/Events/2025/Simulation-Workshop/SW25.aspx). It has been adapted from our [template repository](https://github.com/pythonhealthdatascience/stars-simpy-jupterlite) for sharing `simpy` models with JupyterLite.
 
-## 1. Overview
+## 🧑‍💻 1. Tutorial
 
-The materials and methods in this repository support work towards developing the S.T.A.R.S healthcare framework version 1.5 (**S**haring **T**ools and **A**rtifacts for **R**eproducible **S**imulations in healthcare).  The code and written materials here are a work in progress to demonstrate the application of S.T.A.R.S' version to sharing a `simpy` discrete-event simuilation model and associated research artifacts. 
+We being with two notebooks that introduce some basic concepts for creating DES in python:
 
-The model will run on a users browser without the need to install any components.  This is achieved using Web Assembly technology i.e. [JupterLite](https://github.com/jupyterlite/jupyterlite) and [xeus-python](https://github.com/jupyter-xeus/xeus-python).  A model notebook is downloaded to the users local machine and all dependencies are pre-installed via conda-forge. The model then lives in the browsers cache. The user can make changes to the model or create new files and these are persisted (until the browser cache is cleared).  
+* `01_sampling.ipynb`: Sampling from statistical distributions using `numpy`
+* `02_basic_simpy.ipynb`: Creating simple `simpy` DES models that make use of `numpy` sampling
 
-> Try it in your browser now: https://pythonhealthdatascience.github.io/stars-simpy-jupterlite
+Your understanding of these is then tested in:
 
-### 1.1. Use case
+* `03a_exercise1.ipynb`: Exercise to testing understanding of the basics of `simpy` and `numpy`
+* `03b_exercise1_solutions.ipynb`: Example solutions for the exercise
 
-* A researcher wishes to share a runnable version of a simulation model with their publication (e.g. written in `simpy`).  The code allows others to replicate the simulation results, tables and charts in a paper and allows others to reuse the model.
-* The researcher wants the model to be immediately usable. Users should not need to install python, `simpy` or any dependencies.
-* The researcher either wants to reduce load on online open science compute infrastructure (e.g. mybinder.org) or does not want to rely on it. 
-* Users may want to use a version of their own data due to governance, ethics or other reasons **cannot upload the data to a remote instance of the model.**
-* Loading the model is as simple as clicking a URL.
+We then move on to some more advanced concepts, and create a full process model:
 
-### 1.2. Credits ✨
+* `04_111_model.ipynb`: Full `simpy` process model, creating a model for a 111 call centre 
+* `05_basic_results.ipynb`: Collecting results from a single run by storing process metrics during a run and performing calculations at the end
 
-> We would like to thank the [JupterLite](https://github.com/jupyterlite/jupyterlite) and [xeus-python](https://github.com/jupyter-xeus/xeus-python) developers for making this work possible. This discrete-event simulation focussed repository was based on the learning materials and template provided by [Jupyterlite xeus-python demo](https://github.com/jupyterlite/xeus-python-demo) and [tutorial given at PyData 2023](https://www.youtube.com/watch?v=WXRslU9D3bo) by Jeremy Tuloup.
+## 🔧 2. Set-up
 
-### 1.3. Citation
+To run the notebooks in this tutorial, you can either run via your browser or locally...
 
-If you use the template in your work we would greatly appreciate a citation when you publish your work. 
+### 2.1 Running notebooks within your browser
 
-> Monks, T., & Harper, A. (2024). Simpy JupyterLite Template (v0.1.0). Zenodo. https://doi.org/10.5281/zenodo.10987817
+This tutorial has been set up to run on your browser without the need to install any components. This is achieved using Web Assembly technology i.e. [JupterLite](https://github.com/jupyterlite/jupyterlite) and [xeus-python](https://github.com/jupyter-xeus/xeus-python). A model notebook is downloaded to your local machine and all dependencies are pre-installed via conda-forge. The model then lives in the browsers cache. You can make changes to the model or create new files and these are persisted (until the browser cache is cleared).
 
-```
-@software{monks_harper_jupyterlite_template,
-  author       = {Monks, Thomas and
-                  Harper, Alison},
-  title        = {Simpy JupyterLite Template},
-  month        = apr,
-  year         = 2024,
-  publisher    = {Zenodo},
-  version      = {v0.1.0},
-  doi          = {10.5281/zenodo.10987817},
-  url          = {https://doi.org/10.5281/zenodo.10987817}
-}
-```
-
-
-## 2. The example model included
-
-The `simpy` model is adapted from [Monks and Harper (2023)](https://github.com/pythonhealthdatascience/stars-simpy-example-docs)
-
-> Monks, T., & Harper, A. (2023). Towards Sharing Tools and Artifacts for Reusable Simulation: example enhanced documentation for a simpy model. (v1.1.0). Zenodo. https://doi.org/10.5281/zenodo.10054063
-
-Full documentation of this model is available in our [JupyterBook](https://pythonhealthdatascience.github.io/stars-simpy-example-docs)
-
-In summary, we adapt a textbook example from Nelson (2013): a terminating discrete-event simulation model of a U.S based treatment centren summary the model. The example is based on exercise 13 from Nelson (2013) page 170.
-
-> *Nelson. B.L. (2013). [Foundations and methods of stochastic simulation](https://www.amazon.co.uk/Foundations-Methods-Stochastic-Simulation-International/dp/1461461596/ref=sr_1_1?dchild=1&keywords=foundations+and+methods+of+stochastic+simulation&qid=1617050801&sr=8-1). Springer.*
-
-## 3. Try the example DES in your browser
-
-* Jupyterlab: https://pythonhealthdatascience.github.io/stars-simpy-jupterlite
-* Classic notebook: https://pythonhealthdatascience.github.io/stars-simpy-jupterlite/notebooks/?path=01_urgent_care_model.ipynb
+> ✨ **To access this tutorial in your browser:** <https://pythonhealthdatascience.github.io/intro-open-sim/>.
 
-## 4. Using the template to create a new repo.
+### 2.2 Running notebooks locally on your machine
 
-> There are three steps: i.) create a new repo form the template; ii.) modify you repo settings so that GitHub pages are built from Actions.  iii.) Commit changes and trigger the GitHub Action and deployment. We recommend reading all instructions first.
+You can also run the notebooks in `content/` locally on your machine. You'll need to install the provided conda environment `environment.yml`.
 
-Let's assume you wanted to create a new discrete-event simulation model of cancer services.  
-
-1. The first step is to copy the template. Click on the green "use this template" button in the top right and select "create a new repository"
-2. You will be prompted to enter a name of the repository - e.g. `cancer_model` - and a short description
-3. Click on "Create Repository"
-
-![Deploy your own](img/use_template_1.gif)
-
-The JuypterLite interactive website is built from GitHub actions.  **In the newly created repo for your model** do the following
-
-4. Navigate to "Settings->Pages"
-5. Under "Build and Deployment" set the "Source" to "GitHub actions".
-
-![Deploy your own](img/actions.gif)
-
-By default the build is trigged on any commit to the `main` branch.  Push a small commit and it will trigger the build.  This will take a few minutes.  Your site will be published under https://{USERNAME}.github.io/{DEMO_REPO_NAME}
+```
+conda env create --name xeus-python-kernel --file environment.yml
+conda activate xeus-python-kernel
+```
 
-## 5. How to install extra packages supporting your DES model. 📦
+## 📝 3. Citation
 
-The repo contains two environment files. To install more dependencies for your DES model and analysis you need to edit the ``environment.yml`` file.
+TBC.
 
-The template ``environment.yml`` is as follows:
+## 🤝 4. Acknowledgements
 
+<!--TODO: Is this just relevant to the template repository, or likewise to this one?-->
 
-```yml
-name: xeus-python-kernel
-channels:
-  - https://repo.mamba.pm/emscripten-forge
-  - conda-forge
-dependencies:
-  - xeus-python
-  - ipycanvas
-  - simpy=4.1.1
-  - numpy
-  - pandas
-  - matplotlib
-```
+We would like to thank the [JupterLite](https://github.com/jupyterlite/jupyterlite) and [xeus-python](https://github.com/jupyter-xeus/xeus-python) developers for making this work possible. This discrete-event simulation focussed tutorial was based on the learning materials and template provided by [Jupyterlite xeus-python demo](https://github.com/jupyterlite/xeus-python-demo) and [tutorial given at PyData 2023](https://www.youtube.com/watch?v=WXRslU9D3bo) by Jeremy Tuloup.
 
-**Key points:**
-
-* There are two channels in use. 
-  * `encription-forge` contains specific versions of the packages for web assembly These include `numpy` `pandas`, and `matplotlib`. Other popular packages include `scipy`, `scikit-learn` and `pytest`.
-  * `conda-forge` for other installs you can use conda-forge.  Only ``no-arch`` packages from ``conda-forge`` can be installed (simpy qualifies)
-* Note that `numpy`, `pandas` and `matplotlib` have specific versions available on `enscription-forge`. For this reason we recommend not including the package version number.
-* `simpy` is installed from `conda-forge` we were therefore able to freeze the version to 4.1.1 to aid reproducibility.
-* At the time of writing the xeus-python kernal will use python 3.11.3
-
-As an example modification assume that you wanted to add two new packages: `plotly` and `scipy`.  The first `plotly` is available ``no-arch`` from conda-forge so it is safe to include and if you wanted to you could try to include a version number. There is a specific version of `scipy` is available on `encription-forge`
-
-Our modified environment looks like:
-
-```yml
-name: xeus-python-kernel
-channels:
-  - https://repo.mamba.pm/emscripten-forge
-  - conda-forge
-dependencies:
-  - xeus-python
-  - ipycanvas
-  - simpy=4.1.1
-  - numpy
-  - pandas
-  - matplotlib
-  - plotly
-  - scipy
-```
+## 💰 5. Funding
 
-If you wanted to use an alternative simulation package to `simpy` this would need to be available on `conda-forge` and be ``no-arch``.  An example package is `salabim`.  A modification of the enviroment is:
-
-
-```yml
-name: xeus-python-kernel
-channels:
-  - https://repo.mamba.pm/emscripten-forge
-  - conda-forge
-dependencies:
-  - xeus-python
-  - ipycanvas
-  - salabim
-  - numpy
-  - pandas
-  - matplotlib
-  - plotly
-  - scipy
-```
+STARS is supported by the Medical Research Council [grant number [MR/Z503915/1](https://gtr.ukri.org/projects?ref=MR%2FZ503915%2F1)].
\ No newline at end of file

From 9776e18e39005aa07e953b7d0d3a4391117cd4bb Mon Sep 17 00:00:00 2001
From: amyheather <a.heather2@exeter.ac.uk>
Date: Fri, 4 Oct 2024 15:21:35 +0100
Subject: [PATCH 2/7] chore(CHANGELOG): :loud_sound: created a skeleton
 changelog for use when creating releases

---
 CHANGELOG.md | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 CHANGELOG.md

diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..95aeb88
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,14 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Dates formatted as YYYY-MM-DD as per [ISO standard](https://www.iso.org/iso-8601-date-and-time-format.html).
+
+## Unreleased - Date - DOI
+
+🌱 Initial release of tutorial materials.
+
+### Added
+
+* TBC
\ No newline at end of file

From eaac9df4fe8b96917dbc2ef3d7994fa59fcbd5b0 Mon Sep 17 00:00:00 2001
From: amyheather <a.heather2@exeter.ac.uk>
Date: Fri, 4 Oct 2024 15:22:38 +0100
Subject: [PATCH 3/7] chore(CITATION.cff): :memo: amended CITATION.cff to be
 relevant to tutorial (and not from template)

---
 CITATION.cff | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/CITATION.cff b/CITATION.cff
index cc14a45..dbe027c 100644
--- a/CITATION.cff
+++ b/CITATION.cff
@@ -2,7 +2,7 @@
 # Visit https://bit.ly/cffinit to generate yours today!
 
 cff-version: 1.2.0
-title: Simpy JupyterLite Template
+title: An introduction to Discrete-Event Simulation using Free and Open Source Software
 message: >-
   If you use this software, please cite it using the
   metadata from this file.
@@ -16,8 +16,15 @@ authors:
     family-names: Harper
     affiliation: University of Exeter
     orcid: 'https://orcid.org/0000-0001-5274-5037'
+  - given-names: Amy
+    family-names: Heather
+    affiliation: University of Exeter
+    orcid: 'https://orcid.org/0000-0002-6596-3479'
 repository-code: >-
-  https://github.com/pythonhealthdatascience/stars-simpy-jupterlite
+  https://github.com/pythonhealthdatascience/intro-open-sim
+abstract: >-
+  This is a STARS project being prepared for the Operational Research Society
+  12th Simulation Workshop in 2025 (SW25).
 keywords:
   - simpy
   - jupyterlite

From 47a94d2cd455219f331d7ae4d25eed42d7048734 Mon Sep 17 00:00:00 2001
From: amyheather <a.heather2@exeter.ac.uk>
Date: Fri, 4 Oct 2024 15:23:03 +0100
Subject: [PATCH 4/7] build(environment): :heavy_plus_sign: add ipykernel to
 environment.yml

---
 environment.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/environment.yml b/environment.yml
index 5f1f86e..5b5f4e7 100644
--- a/environment.yml
+++ b/environment.yml
@@ -10,3 +10,4 @@ dependencies:
   - numpy<2
   - pandas
   - matplotlib
+  - ipykernel

From 4780d25d5e6cc2ba2061bc60bb82764e7e3377d5 Mon Sep 17 00:00:00 2001
From: amyheather <a.heather2@exeter.ac.uk>
Date: Fri, 4 Oct 2024 16:02:27 +0100
Subject: [PATCH 5/7] =?UTF-8?q?style(notebooks):=20=F0=9F=8E=A8=20amendmen?=
 =?UTF-8?q?ts=20to=20markdown=20and=20comments=20to=20help=20improve=20cla?=
 =?UTF-8?q?rity=20and/or=20grammar,=20and=20addition=20of=20some=20illustr?=
 =?UTF-8?q?ations?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 content/01_sampling.ipynb             |  44 +-
 content/02_basic_simpy.ipynb          |  96 +--
 content/03a_exercise1.ipynb           |  53 +-
 content/03b_exercise1_solutions.ipynb |  54 +-
 content/04_111_model.ipynb            | 976 +++++++++++++-------------
 content/05_basic_results.ipynb        |  53 +-
 img/callcentre.drawio                 |  72 ++
 img/callcentre.png                    | Bin 0 -> 43505 bytes
 img/callcentre_waittime.drawio        |  81 +++
 img/callcentre_waittime.png           | Bin 0 -> 55250 bytes
 img/pharmacy.drawio                   |  61 ++
 img/pharmacy.png                      | Bin 0 -> 19986 bytes
 12 files changed, 890 insertions(+), 600 deletions(-)
 create mode 100644 img/callcentre.drawio
 create mode 100644 img/callcentre.png
 create mode 100644 img/callcentre_waittime.drawio
 create mode 100644 img/callcentre_waittime.png
 create mode 100644 img/pharmacy.drawio
 create mode 100644 img/pharmacy.png

diff --git a/content/01_sampling.ipynb b/content/01_sampling.ipynb
index bc47725..00f1c9b 100644
--- a/content/01_sampling.ipynb
+++ b/content/01_sampling.ipynb
@@ -5,9 +5,11 @@
    "id": "10df8325-b87f-4633-97ba-fdc1f70c77a9",
    "metadata": {},
    "source": [
-    "# How to sample from statistical distributions in Python\n",
+    "# Sampling from statistical distributions in Python\n",
     "\n",
-    "If you are working in simulation modelling in python it is highly likely that you will need to make use of the `numpy.random` namespace.  This provides a variety of statistical distributions that you can use for efficient sampling.  Let's take a look at a few example distributions. For example generating 100,000 samples from the uniform, exponential distributions and normal distributions:"
+    "If you are working in simulation modelling in Python, you will likely need to use `numpy.random` namespace. It provides a variety of statistical distributions which you can use for efficient sampling. \n",
+    "\n",
+    "This notebook will guide you through an example of generating **100,000 samples** from the **uniform**, **exponential** and **normal** distributions."
    ]
   },
   {
@@ -52,7 +54,7 @@
    "source": [
     "def distribution_plot(samples, bins=100, figsize=(5,3)):\n",
     "    '''\n",
-    "    helper function to visualise the distributions\n",
+    "    Helper function to visualise the distributions\n",
     "    \n",
     "    Params:\n",
     "    -----\n",
@@ -62,7 +64,7 @@
     "    bins: int, optional (default=100)\n",
     "        The number of bins to include in the histogram\n",
     "        \n",
-    "    figsize: (int, int)\n",
+    "    figsize: (int, int) (default=(5,3))\n",
     "        Size of the plot in pixels\n",
     "        \n",
     "    Returns:\n",
@@ -94,9 +96,9 @@
    "id": "f0b09c93-9c0c-421e-8f84-b054955af540",
    "metadata": {},
    "source": [
-    "To create a `Generator` use the `default_rng()` function of the random module.\n",
+    "To generate random numbers for sampling from each distribution, we can use the `default_rng()` function from the `numpy.random` module.\n",
     "\n",
-    "For more information on `Generator` you can look at [`numpy` online documentation.](https://numpy.org/doc/stable/reference/random/generator.html)"
+    "This function constructs an instance of a `Generator` class, which can produce random numbers. For more information on `Generator` you can look at [`numpy` online documentation.](https://numpy.org/doc/stable/reference/random/generator.html)"
    ]
   },
   {
@@ -137,13 +139,15 @@
    "source": [
     "## 4. Steps to create a sample\n",
     "\n",
-    "In general the approach to sampling is:\n",
+    "In general, the approach to sampling is:\n",
+    "\n",
+    "1. Create a random number **generator** object\n",
     "\n",
-    "1. Create a random number generator object\n",
-    "2. Using the object call the method for the statistical distribution\n",
+    "2. Using the object call the method for the **statistical distribution**\n",
     "    * Each method has its own custom parameters\n",
     "    * Each method will include a `size` parameter that you use to set the number of samples to generate\n",
-    "3. Store the result in an appropriately named variable.\n",
+    "\n",
+    "3. **Store** the result in an appropriately named variable\n",
     "\n",
     "### 4.1 Uniform distribution\n"
    ]
@@ -156,7 +160,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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",
+      "image/png": "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",
       "text/plain": [
        "<Figure size 500x300 with 1 Axes>"
       ]
@@ -166,13 +170,13 @@
     }
    ],
    "source": [
-    "# step 1: create a random number generator object - set seed to 42\n",
+    "# Step 1: create a random number generator object - set seed to 42\n",
     "rng = np.random.default_rng(42)\n",
     "\n",
-    "# step 2 and 3: call the appropraite method of the generator and store result\n",
+    "# Step 2 and 3: call the appropriate method of the generator and store result\n",
     "samples = rng.uniform(low=10, high=40, size=1_000_000)\n",
     "\n",
-    "# illustrate with plot.\n",
+    "# Illustrate with plot.\n",
     "fig, ax = distribution_plot(samples, bins=50)"
    ]
   },
@@ -202,7 +206,7 @@
     },
     {
      "data": {
-      "image/png": "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",
+      "image/png": "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",
       "text/plain": [
        "<Figure size 500x300 with 1 Axes>"
       ]
@@ -243,7 +247,7 @@
     },
     {
      "data": {
-      "image/png": "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",
+      "image/png": "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",
       "text/plain": [
        "<Figure size 500x300 with 1 Axes>"
       ]
@@ -332,9 +336,9 @@
    "source": [
     "## 6. Encapsulating distributions, parameters, and random seeds.\n",
     "\n",
-    "When building a simulation model it is often useful to *package up* both a random number generator, parameters for a specific distribution, and a seed in a python class.  This allows easy creation of generator objects, straightforward sampling, and improves management of streams for each activity in a simulation model.\n",
+    "When building a simulation model it is often useful to *package up* both a random number generator, parameters for a specific distribution, and a seed in a **python class**.  This allows **easy creation** of generator objects, straightforward sampling, and improves management of streams for each activity in a simulation model.\n",
     "\n",
-    "As an example here a class `Exponential` representing the exponential distribution. It accepts a mean value parameter and you can set the random seed.\n",
+    "As an example below, the class `Exponential` represents the exponential distribution. It accepts a mean value parameter and you can set the random seed.\n",
     "\n",
     "We will then instantiate two `Exponential` objects for two different processes in our simulation: acute length of stay, and rehab length of stay."
    ]
@@ -349,7 +353,7 @@
     "class Exponential:\n",
     "    '''\n",
     "    Convenience class for the exponential distribution.\n",
-    "    packages up distribution parameters, seed and random generator.\n",
+    "    Packages up distribution parameters, seed and random generator.\n",
     "    '''\n",
     "    def __init__(self, mean, random_seed=None):\n",
     "        '''\n",
@@ -466,7 +470,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.9"
+   "version": "3.1.-1"
   }
  },
  "nbformat": 4,
diff --git a/content/02_basic_simpy.ipynb b/content/02_basic_simpy.ipynb
index dac5efa..38613b8 100644
--- a/content/02_basic_simpy.ipynb
+++ b/content/02_basic_simpy.ipynb
@@ -5,12 +5,23 @@
    "id": "50446585-a13f-4c90-9700-58015b670d9c",
    "metadata": {},
    "source": [
-    "# A first look at simpy\n",
+    "# An introduction to SimPy\n",
     "\n",
-    "In this tutorial we will make use of **Free and Open Source Software (FOSS)** for discrete-event simulation called `simpy`. \n",
+    "In this tutorial, we will use **SimPy**, a free and open-source software (FOSS) framework for discrete-event simulation.\n",
     "\n",
-    "## Why FOSS and simpy?\n",
-    "An strength of `simpy` is its simplicity and flexibility.  As it is part of Python, it is often straightforward to use `simpy` to model complex logic and make use of the SciPy stack!  Initially, you will need to write a lot of code (or borrow code from other simulation studies you find online!). But don't worry. As you use `simpy` you will build your own library of reusable code that you can draw on (and build on) for future simulation projects.  As `simpy` is FOSS it is useful for research: the model logic is transparent, can be readily shared with others, and can easily link to other data science tools such as those from Machine Learning (e.g. `sklearn` or `pytorch`). \n"
+    "## 1. Why choose FOSS and SimPy?\n",
+    "\n",
+    "💪 A strength of SimPy is its **simplicity and flexibility**.\n",
+    "\n",
+    "* As it is part of Python, it is often straightforward to use SimPy to model complex logic and make use of the [SciPy stack](https://projects.scipy.org/stackspec.html)!\n",
+    "\n",
+    "📝 You will initially need to **write lots of code** - or borrow code from existing simulation studies online. Do not worry though! As you use SimPy, you will build up your own library of reusable code that you can draw upon and build on for future simulation projects.\n",
+    "\n",
+    "♻️ SimPy is **FOSS** - the benefits of this for research are that:\n",
+    "\n",
+    "* Model logic is **transparent**\n",
+    "* It can be readily **shared** with others\n",
+    "* It can easily **link to other data science tools** (e.g. `sklearn` or `pytorch` for machine learning)"
    ]
   },
   {
@@ -18,9 +29,9 @@
    "id": "71ec6d31-c791-4945-83fd-c96670e4b492",
    "metadata": {},
    "source": [
-    "## 1. Imports\n",
+    "## 2. Imports\n",
     "\n",
-    "The first library we will import is `simpy`.  The typical style is to import the whole package as follows:"
+    "For `simpy`, the typical style is to import the whole package as follows:"
    ]
   },
   {
@@ -33,38 +44,22 @@
     "import simpy"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "id": "dda6f531-3e2d-4e65-8ad6-0703f09df810",
-   "metadata": {},
-   "source": [
-    "We will also need a few other packages in our simulation model.   "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "id": "9f083908-66a9-47ea-af29-c2baaaeef4c4",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import numpy as np\n",
-    "import pandas as pd\n",
-    "import matplotlib.pyplot as plt\n",
-    "import itertools\n",
-    "import math"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "968d7a3d-763d-48a0-9915-421631d1f650",
    "metadata": {},
    "source": [
-    "## 2. A first example: a hospital pharmacy\n",
+    "## 3. An example: a hospital pharmacy\n",
     "\n",
-    "In this first example, let's assume (unrealistically) that prescriptions arrive **exactly** 5 minutes apart.  To build this model we need the following components:\n",
+    "In this first example, let's assume (unrealistically) that prescriptions arrive **exactly** 5 minutes apart.\n",
     "\n",
-    "#### **A simpy environment**\n",
+    "![Pharmacy with prescriptions every 5 minutes](../img/pharmacy.png)\n",
+    "\n",
+    "## 4. The model building blocks\n",
+    "\n",
+    "To build our model, we will need the following components...\n",
+    "\n",
+    "### 4.1 A SimPy environment\n",
     "\n",
     "`simpy` has process based worldview.  These processes take place in an environment.  You can create a environment with the following line of code:\n",
     "\n",
@@ -72,18 +67,19 @@
     "env = simpy.Environment()\n",
     "```\n",
     "\n",
-    "#### **simpy timeouts**\n",
+    "### 4.2 SimPy timeouts\n",
     "\n",
-    "We can introduce **delays** or **activities** into a process.  For example these might be the duration of a stay on a ward, or the duration of a operation.  In this case we are going to introduce a delay between arrivals (inter-arrival time).  In `simpy` you control this with the following method:\n",
+    "We can introduce **delays** or **activities** into a process.  For example these might be the duration of a stay on a ward, or the duration of a operation - or, in this case, a **delay between arrivals (inter-arrival time)**. In `simpy` you control this with the following method:\n",
     "\n",
     "```python\n",
-    "activity_duration = 20\n",
-    "env.timeout(activity_duration)\n",
+    "env.timeout(5.0)\n",
     "```\n",
     "\n",
-    "#### **generators**\n",
+    "### 4.3 Generators\n",
+    "\n",
+    "The events in the DES are modelled and scheduled in `simpy` using python **generators** (i.e. they are the \"event-processing mechanism\"). A generator is a function that behaves like an iterator, meaning it can yield a **sequence of values** when iterated over.\n",
     "\n",
-    "The event process mechanism in `simpy` is implemented using python generators.  A basic generator function that yields a new arrival every 5 minutes looks like this:\n",
+    "For example, below is a basic generator function that yields a new arrival every 5 minutes. It takes the **environment** as a parameter. It then internally calls the `env.timeout()` method in an infinite loop.\n",
     "\n",
     "```python\n",
     "def prescription_arrival_generator(env):\n",
@@ -91,19 +87,17 @@
     "        yield env.timeout(5.0)\n",
     "```\n",
     "\n",
-    "Notice that the generator takes the environment as a parameter.  It then internally calls the `env.timeout()` method in an infinite loop.\n",
-    "\n",
-    "#### **running a `simpy` model**\n",
+    "### 4.4 SimPy process and run\n",
     "\n",
     "Once we have coded the model logic and created an environment instance, there are two remaining instructions we need to code.\n",
     "\n",
-    "1. set the generator up as a simpy process\n",
+    "1. Set the generator up as a **SimPy process** using `env.process()`\n",
     "\n",
     "```python\n",
     "env.process(prescription_arrival_generator(env))\n",
     "```\n",
     "\n",
-    "2. run the environment for a user specified run length\n",
+    "2. Run the environment for a user specified **run length** using `env.run()`\n",
     "\n",
     "```python\n",
     "env.run(until=25)\n",
@@ -111,12 +105,14 @@
     "\n",
     "The run method handle the infinite loop we set up in `prescription_arrival_generator`. The simulation model has an internal concept of time.  It will end execution when its internal clock reaches 25 time units.\n",
     "\n",
+    "## 5. Create the model\n",
+    "\n",
     "**Now that we have covered the basic building blocks, let's code the actual model.**  It makes sense to create our model logic first.  The code below will generate arrivals every 5 minutes.  Note that the function takes an environment object as a parameter."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 2,
    "id": "a6fd524c-7dc4-41c0-876d-3507ce480dfb",
    "metadata": {},
    "outputs": [],
@@ -149,12 +145,14 @@
    "id": "aa6042f3-b7a7-4c3a-a5d8-7eb7f3796bf2",
    "metadata": {},
    "source": [
-    "Now that we have our generator function we can setup the environment, process and call run.  We will create a `RUN_LENGTH` parameter that you can change to run the model for different time lengths.  What would happen if this was set to 50?"
+    "Now that we have our generator function we can setup the environment, process and call run.  We will create a `RUN_LENGTH` parameter that you can change to run the model for different time lengths.\n",
+    "\n",
+    "**Consider:** What would happen if we set `RUN_LENGTH` to 50?"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 3,
    "id": "f6f74ff5-4c95-400e-8494-42e438b18b90",
    "metadata": {},
    "outputs": [
@@ -190,9 +188,11 @@
    "id": "c3aa041b-6b8f-4b15-becc-bd966d0eb794",
    "metadata": {},
    "source": [
-    "## Exercise\n",
+    "## 6. Exercise\n",
+    "\n",
+    "Before we learn anything more about `simpy`, have a go at the [generators exercise](./03a_exercise1.ipynb).\n",
     "\n",
-    "Before we learn anything more about `simpy` have a go at the generators exercise. In the exercise you will need to modify the `prescription_arrival_generator` so that it has random arrivals. This exercise test that you have understood the basics of `simpy` and random sampling in `numpy`\n"
+    "In the exercise you will need to modify the `prescription_arrival_generator` so that it has random arrivals. This exercise tests that you have understood the basics of `simpy` and random sampling in `numpy`\n"
    ]
   }
  ],
@@ -212,7 +212,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.9"
+   "version": "3.1.undefined"
   }
  },
  "nbformat": 4,
diff --git a/content/03a_exercise1.ipynb b/content/03a_exercise1.ipynb
index c06f0ff..e62a0d3 100644
--- a/content/03a_exercise1.ipynb
+++ b/content/03a_exercise1.ipynb
@@ -7,7 +7,7 @@
    "source": [
     "# Generator exercise\n",
     "\n",
-    "To see the solutions please see the [generator exercise solutions notebook](./03b_exercise1_solutions.ipynb)\n"
+    "🧐 For the solutions, please see the [generator exercise solutions notebook](./03b_exercise1_solutions.ipynb)\n"
    ]
   },
   {
@@ -15,12 +15,12 @@
    "id": "c034caf3-6766-4c69-af8f-949f45283b37",
    "metadata": {},
    "source": [
-    "## Imports"
+    "## 1. Imports"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 1,
    "id": "85fd4a85-bb77-498c-96ee-c14de89994a2",
    "metadata": {},
    "outputs": [],
@@ -34,14 +34,14 @@
    "id": "bfab7f97-9cad-419a-8d75-a2ba190edee8",
    "metadata": {},
    "source": [
-    "## Example code\n",
+    "## 2. Example code\n",
     "\n",
-    "The code below is taken from the simple pharmacy example.  In this code arrivals occur with an IAT of exactly 5 minutes."
+    "The code below is taken from the simple pharmacy example.  In this code arrivals occur with an inter-arrival time (IAT) of exactly 5 minutes."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 2,
    "id": "ee2439f2-0d35-41fd-a5e2-4b95954dd5c5",
    "metadata": {},
    "outputs": [],
@@ -72,10 +72,22 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 3,
    "id": "40c495d5-6f55-4c93-99e3-5bfa6cdff36d",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Prescription arrives at: 5.0\n",
+      "Prescription arrives at: 10.0\n",
+      "Prescription arrives at: 15.0\n",
+      "Prescription arrives at: 20.0\n",
+      "end of run. simulation clock time = 25\n"
+     ]
+    }
+   ],
    "source": [
     "# model parameters\n",
     "RUN_LENGTH = 25\n",
@@ -96,28 +108,29 @@
    "id": "6b1bd501-1614-4891-a876-d07bd40c0496",
    "metadata": {},
    "source": [
-    "### Exercise: modelling a poisson arrival process for prescriptions\n",
+    "## 3. Exercise: Modelling a poisson arrival process for prescriptions\n",
     "\n",
     "**Task:**\n",
     "\n",
-    "* Update `prescription_arrival_generator()` so that inter-arrival times follow an exponential distribution with a mean of 5.0 minutes between arrivals.\n",
-    "* Use a run length of 25 minutes.\n",
+    "Update `prescription_arrival_generator()` so that inter-arrival times follow an **exponential distribution** with a mean of 5.0 minutes between arrivals. Use a run length of 25 minutes.\n",
     "\n",
-    "> **Bonus**: try this initially **without** setting a random seed.  Then update the method choosing an approach to control random sampling.\n",
+    "**Bonus challenge:**\n",
     "\n",
-    "**Hints:**\n",
+    "* First, try implementing this **without** setting a random seed.\n",
+    "* Then, update the method with an approach to control the randomness,\n",
     "\n",
-    "We learnt how to sample using a `numpy` random number generator in the [sampling notebook](./01_sampling.ipynb). The basic form to draw a single sample followed this pattern (note this excludes a random seed).\n",
+    "**Hints:**\n",
     "\n",
-    "```python\n",
-    "rng = np.random.default_rng()\n",
-    "sample = rng.exponential(scale=12.0)\n",
-    "```"
+    "* We learnt how to sample using a `numpy` random number generator in the [sampling notebook](./01_sampling.ipynb). Excluding a random seed, the basic method for drawing a single sample follows this pattern:\n",
+    "    ```python\n",
+    "    rng = np.random.default_rng()\n",
+    "    sample = rng.exponential(scale=12.0)\n",
+    "    ```"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 4,
    "id": "65823eff-8d0f-4eaf-a531-173c8ab6290c",
    "metadata": {},
    "outputs": [],
@@ -142,7 +155,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.9"
+   "version": "3.11.10"
   }
  },
  "nbformat": 4,
diff --git a/content/03b_exercise1_solutions.ipynb b/content/03b_exercise1_solutions.ipynb
index a7a94b8..366abc8 100644
--- a/content/03b_exercise1_solutions.ipynb
+++ b/content/03b_exercise1_solutions.ipynb
@@ -5,10 +5,9 @@
    "id": "f2147e34-ce39-4d8c-a7db-e8acec2b63e0",
    "metadata": {},
    "source": [
-    "# Exercise 1: Generating random arrivals. \n",
-    "## SOLUTIONS\n",
+    "# Solutions for the generator exercise\n",
     "\n",
-    "> This notebook contains an example solutions to [Exercise 1](./03a_exercise1.ipynb)"
+    "⚠️ **SOLUTIONS:** This notebook contains example solutions for the[generator exercise](./03a_exercise1.ipynb)"
    ]
   },
   {
@@ -16,7 +15,7 @@
    "id": "c034caf3-6766-4c69-af8f-949f45283b37",
    "metadata": {},
    "source": [
-    "## Imports"
+    "## 1. Imports"
    ]
   },
   {
@@ -37,7 +36,7 @@
    "source": [
     "## Example code\n",
     "\n",
-    "The code below is taken from the simple pharmacy example.  In this code arrivals occur with an IAT of exactly 5 minutes."
+    "The code below is taken from the simple pharmacy example.  In this code arrivals occur with an inter-arrival time (IAT) of exactly 5 minutes."
    ]
   },
   {
@@ -109,14 +108,24 @@
    "id": "6b1bd501-1614-4891-a876-d07bd40c0496",
    "metadata": {},
    "source": [
-    "### Exercise: modelling a poisson arrival process for prescriptions\n",
+    "## 3. Exercise: Modelling a poisson arrival process for prescriptions\n",
     "\n",
     "**Task:**\n",
     "\n",
-    "* Update `prescription_arrival_generator()` so that inter-arrival times follow an exponential distribution with a mean of 5.0 minutes between arrivals.\n",
-    "* Use a run length of 25 minutes.\n",
+    "Update `prescription_arrival_generator()` so that inter-arrival times follow an **exponential distribution** with a mean of 5.0 minutes between arrivals. Use a run length of 25 minutes.\n",
     "\n",
-    "> **Bonus**: try this initially **without** setting a random seed.  Then update the method choosing an approach to control random sampling."
+    "**Bonus challenge:**\n",
+    "\n",
+    "* First, try implementing this **without** setting a random seed.\n",
+    "* Then, update the method with an approach to control the randomness,\n",
+    "\n",
+    "**Hints:**\n",
+    "\n",
+    "* We learnt how to sample using a `numpy` random number generator in the [sampling notebook](./01_sampling.ipynb). Excluding a random seed, the basic method for drawing a single sample follows this pattern:\n",
+    "    ```python\n",
+    "    rng = np.random.default_rng()\n",
+    "    sample = rng.exponential(scale=12.0)\n",
+    "    ```"
    ]
   },
   {
@@ -124,7 +133,7 @@
    "id": "73cc4a74-9220-437b-a4ff-0c578ad6b701",
    "metadata": {},
    "source": [
-    "#### Example answer 1"
+    "### 3.1 Example answer 1"
    ]
   },
   {
@@ -165,8 +174,13 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Prescription arrives at: 13.208116404576343\n",
-      "Prescription arrives at: 23.351140962530284\n",
+      "Prescription arrives at: 6.560835382912934\n",
+      "Prescription arrives at: 13.76671258369678\n",
+      "Prescription arrives at: 13.835164735720078\n",
+      "Prescription arrives at: 18.405801165765617\n",
+      "Prescription arrives at: 19.82317231493007\n",
+      "Prescription arrives at: 20.67371800270213\n",
+      "Prescription arrives at: 22.40238071777428\n",
       "end of run. simulation clock time = 25\n"
      ]
     }
@@ -191,9 +205,9 @@
    "id": "f52643e4-a098-453e-956b-a8a9178494f7",
    "metadata": {},
    "source": [
-    "#### Example answer 2\n",
+    "### 3.2 Example answer 2\n",
     "\n",
-    "In this solution we first define a class called `Exponential` and pass that as an argument to the generator."
+    "In this solution, we first define a class called `Exponential` and pass that as an argument to the generator."
    ]
   },
   {
@@ -306,7 +320,7 @@
    "id": "4a605ad5-c95d-48e8-aacc-a7b33ab9b010",
    "metadata": {},
    "source": [
-    "### Why would we use solution 2?"
+    "### 3.3 Why would we use solution 2?"
    ]
   },
   {
@@ -314,7 +328,11 @@
    "id": "1e7ae3d1-742b-424c-9c3e-1a697fbe52a0",
    "metadata": {},
    "source": [
-    "Solution 2 is a useful approach as it is now easy to define new experiments.  For example, we could experiment with the mean of the exponential or use an entirely different distribution (as long as it implements `.sample()`) without changing our generator function.  For example. "
+    "Solution 2 is a useful approach as it is now **easy to define new experiments**.\n",
+    "\n",
+    "We could experiment with the mean of the exponential or use an entirely different distribution (as long as it implements `.sample()`) without changing our generator function. \n",
+    "\n",
+    "For example..."
    ]
   },
   {
@@ -344,7 +362,7 @@
     "# create the simpy environment object\n",
     "env = simpy.Environment()\n",
     "\n",
-    "# *** MODIFICATION: reduce IAT.\n",
+    "# ****** MODIFICATION: reduce IAT. ******\n",
     "# Note: with this method we could use a different distribution should as Erlang\n",
     "iat = Exponential(mean=2.5, random_seed=42)\n",
     "\n",
@@ -373,7 +391,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.9"
+   "version": "3.1.-1"
   }
  },
  "nbformat": 4,
diff --git a/content/04_111_model.ipynb b/content/04_111_model.ipynb
index 67416e1..5b67fe2 100644
--- a/content/04_111_model.ipynb
+++ b/content/04_111_model.ipynb
@@ -5,9 +5,9 @@
    "id": "415a5a10-1110-4ee5-aa48-b01680a423b9",
    "metadata": {},
    "source": [
-    "# A full model\n",
+    "# A full SimPy model\n",
     "\n",
-    "We will now build a full `simpy` process model.  In this example we will build a 111 call centre queuing model.  We will include random arrivals and resources.  We will keep this simple, and gradually add in detail and flexibility to our design."
+    "In this notebook, we will now build a full `simpy` process model. Our example is a queuing model of a 111 call centre.  We will include random arrivals and resources. We will keep this simple, and gradually add in detail and flexibility to our design."
    ]
   },
   {
@@ -37,9 +37,9 @@
    "source": [
     "## 2. Problem background\n",
     "\n",
-    "Call operators in an 111 (urgent care) service receive calls at a rate of 100 per hour. Call length can be represented by a triangular distribution.  Calls last between 5 minutes and 15 minutes. Most calls last 7 minutes. There are 13 call operators.  \n",
+    "Call operators in an 111 (urgent care) service receive calls at a rate of 100 per hour. Call length can be represented by a triangular distribution.  Calls last between 5 minutes and 15 minutes. Most calls last 7 minutes. There are 13 call operators.\n",
     "\n",
-    "> We will build a `simpy` model of the process."
+    "![Call Centre Diagram](../img/callcentre.png)"
    ]
   },
   {
@@ -47,22 +47,26 @@
    "id": "78d33d8d-1640-493d-b959-36c1f2af0ca9",
    "metadata": {},
    "source": [
-    "## 3. `simpy` resources\n",
+    "## 3. SimPy resources\n",
     "\n",
-    "To model the call centre we need to introduce a **resource**.  If a resource is not available then a process will pause.  We create a resource as follows:\n",
+    "To model the call centre, we need to introduce a **resource**.\n",
+    "\n",
+    "These resources represent the call operators. If a resource is not available then a process will **pause** (i.e. callers will wait for an operator to become available). \n",
+    "\n",
+    "We create a resource as follows:\n",
     "\n",
     "```python\n",
     "operators = simpy.Resource(env, capacity=20)\n",
     "```\n",
     "\n",
-    "When we want to request a resource in our process we create a with block as follows:\n",
+    "When we want to request a resource in our process, we create a `with` block as follows:\n",
     "\n",
     "```python\n",
     "with operators.request() as req:\n",
     "    yield req\n",
     "```\n",
     "\n",
-    "This tells simpy that your process needs an operator resource to progress.  The code will pause until a resource is yielded. This gives us our queuing effect.  If a resource is not available immediately then the process will wait until one becomes available.  We will practice this a lot in the course so do not worry if this does not make sense immediately."
+    "This tells SimPy that **your process needs an operator resource to progress**.  The code will pause until a resource is yielded. This gives us our **queuing effect**.  If a resource is not available immediately then the process will wait until one becomes available."
    ]
   },
   {
@@ -70,17 +74,19 @@
    "id": "43c7fc53-7a02-44b7-9a41-0e454bcdc328",
    "metadata": {},
    "source": [
-    "## 4. The service function.\n",
+    "## 4. The service function\n",
     "\n",
-    "We will first build the service function. We need to do this because our arrival/generator function will be required to call it.\n",
+    "We will first create a python function called `service()` to simulate the service process for a call operator. We need to include the following logic:\n",
     "\n",
-    "We need to include the following logic:\n",
+    "1. **Request and wait** (if necessary) for a call operator.\n",
+    "2. Undergo **phone triage** (a delay). This is a sample from the Triangular distribution.\n",
+    "3. **Exit the system**.\n",
     "\n",
-    "1. Request and if necessary wait for a call operator\n",
-    "2. Undergo phone triage (a delay). This is a sample from the Triangular distribution.\n",
-    "3. Exit the system.\n",
+    "Each caller that arrives in the simulation will this function as a SimPy **process**. As inputs to the function, we will pass:\n",
     "\n",
-    "We will build this as a simple python function that we will call `service`.  Each patient caller that arrives to the simulation will execute service as a `simpy` process.  We will pass a unique patient identifier, a pool of operator resources and the environment to the function."
+    "* A unique patient identifier (`identifier`)\n",
+    "* A pool of operator resources (`operators`)\n",
+    "* The environment (`env`)"
    ]
   },
   {
@@ -145,11 +151,11 @@
    "id": "ca62c3c9-de40-40ca-8971-3b5846e4d57c",
    "metadata": {},
    "source": [
-    "## 5. The generator function.\n",
+    "## 5. The generator function\n",
     "\n",
-    "The generator function is very similar to the pharamacy example.  \n",
+    "The generator function is very similar to the [pharamacy example](./03b_exercise1_solutions.ipynb).  \n",
     "\n",
-    "> **Notice the pattern**. For most models you can just cut, paste and modify code you have used before."
+    "> ✂️ **Notice the pattern**. For most models you can just cut, paste and modify code you have used before."
    ]
   },
   {
@@ -161,7 +167,7 @@
    "source": [
     "def arrivals_generator(env, operators):\n",
     "    '''\n",
-    "    IAT is exponentially distributed\n",
+    "    Inter-arrival time (IAT) is exponentially distributed\n",
     "\n",
     "    Parameters:\n",
     "    ------\n",
@@ -210,464 +216,478 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "call arrives at: 0.206\n",
-      "operator answered call 1 at 0.206\n",
-      "call arrives at: 1.467\n",
-      "operator answered call 2 at 1.467\n",
-      "call arrives at: 1.739\n",
-      "operator answered call 3 at 1.739\n",
-      "call arrives at: 2.400\n",
-      "operator answered call 4 at 2.400\n",
-      "call arrives at: 2.580\n",
-      "operator answered call 5 at 2.580\n",
-      "call arrives at: 2.755\n",
-      "operator answered call 6 at 2.755\n",
-      "call arrives at: 3.846\n",
-      "operator answered call 7 at 3.846\n",
-      "call arrives at: 5.182\n",
-      "operator answered call 8 at 5.182\n",
-      "call arrives at: 5.963\n",
-      "operator answered call 9 at 5.963\n",
-      "call arrives at: 6.631\n",
-      "operator answered call 10 at 6.631\n",
-      "call arrives at: 7.189\n",
-      "operator answered call 11 at 7.189\n",
-      "call 1 ended 7.567; waiting time was 0.000\n",
-      "call arrives at: 8.082\n",
-      "operator answered call 12 at 8.082\n",
-      "call 3 ended 8.435; waiting time was 0.000\n",
-      "call arrives at: 8.486\n",
-      "operator answered call 13 at 8.486\n",
-      "call arrives at: 8.802\n",
-      "operator answered call 14 at 8.802\n",
-      "call 2 ended 9.167; waiting time was 0.000\n",
-      "call 5 ended 9.546; waiting time was 0.000\n",
-      "call 6 ended 9.776; waiting time was 0.000\n",
-      "call arrives at: 9.818\n",
-      "operator answered call 15 at 9.818\n",
-      "call arrives at: 10.055\n",
-      "operator answered call 16 at 10.055\n",
-      "call 7 ended 10.222; waiting time was 0.000\n",
-      "call 4 ended 10.985; waiting time was 0.000\n",
-      "call arrives at: 11.905\n",
-      "operator answered call 17 at 11.905\n",
-      "call 8 ended 12.315; waiting time was 0.000\n",
-      "call arrives at: 12.623\n",
-      "operator answered call 18 at 12.623\n",
-      "call 9 ended 12.746; waiting time was 0.000\n",
-      "call arrives at: 12.908\n",
-      "operator answered call 19 at 12.908\n",
-      "call arrives at: 13.211\n",
-      "operator answered call 20 at 13.211\n",
-      "call arrives at: 13.308\n",
-      "operator answered call 21 at 13.308\n",
-      "call 12 ended 13.538; waiting time was 0.000\n",
-      "call arrives at: 14.291\n",
-      "operator answered call 22 at 14.291\n",
-      "call 14 ended 14.788; waiting time was 0.000\n",
-      "call 13 ended 15.541; waiting time was 0.000\n",
-      "call arrives at: 15.589\n",
-      "operator answered call 23 at 15.589\n",
-      "call 10 ended 16.091; waiting time was 0.000\n",
-      "call arrives at: 16.366\n",
-      "operator answered call 24 at 16.366\n",
-      "call arrives at: 16.701\n",
-      "operator answered call 25 at 16.701\n",
-      "call 16 ended 16.986; waiting time was 0.000\n",
-      "call 11 ended 17.134; waiting time was 0.000\n",
-      "call arrives at: 17.273\n",
-      "operator answered call 26 at 17.273\n",
-      "call 17 ended 18.467; waiting time was 0.000\n",
-      "call 18 ended 18.500; waiting time was 0.000\n",
-      "call 21 ended 18.746; waiting time was 0.000\n",
-      "call 15 ended 19.069; waiting time was 0.000\n",
-      "call arrives at: 19.349\n",
-      "operator answered call 27 at 19.349\n",
-      "call arrives at: 19.784\n",
-      "operator answered call 28 at 19.784\n",
-      "call 19 ended 20.379; waiting time was 0.000\n",
-      "call arrives at: 21.329\n",
-      "operator answered call 29 at 21.329\n",
-      "call 20 ended 21.633; waiting time was 0.000\n",
-      "call 23 ended 21.959; waiting time was 0.000\n",
-      "call arrives at: 22.076\n",
-      "operator answered call 30 at 22.076\n",
-      "call 22 ended 22.090; waiting time was 0.000\n",
-      "call arrives at: 22.432\n",
-      "operator answered call 31 at 22.432\n",
-      "call arrives at: 23.274\n",
-      "operator answered call 32 at 23.274\n",
-      "call arrives at: 23.564\n",
-      "operator answered call 33 at 23.564\n",
-      "call 26 ended 23.601; waiting time was 0.000\n",
-      "call 25 ended 23.671; waiting time was 0.000\n",
-      "call arrives at: 23.944\n",
-      "operator answered call 34 at 23.944\n",
-      "call arrives at: 24.421\n",
-      "operator answered call 35 at 24.421\n",
-      "call 24 ended 24.902; waiting time was 0.000\n",
-      "call arrives at: 25.242\n",
-      "operator answered call 36 at 25.242\n",
-      "call arrives at: 25.456\n",
-      "operator answered call 37 at 25.456\n",
-      "call arrives at: 25.582\n",
-      "operator answered call 38 at 25.582\n",
-      "call arrives at: 25.857\n",
-      "operator answered call 39 at 25.857\n",
-      "call 27 ended 26.555; waiting time was 0.000\n",
-      "call arrives at: 27.008\n",
-      "operator answered call 40 at 27.008\n",
-      "call arrives at: 27.363\n",
-      "call 29 ended 27.854; waiting time was 0.000\n",
-      "operator answered call 41 at 27.854\n",
-      "call 28 ended 27.897; waiting time was 0.000\n",
-      "call arrives at: 28.053\n",
-      "operator answered call 42 at 28.053\n",
-      "call arrives at: 29.103\n",
-      "call 30 ended 29.443; waiting time was 0.000\n",
-      "operator answered call 43 at 29.443\n",
-      "call 31 ended 29.738; waiting time was 0.000\n",
-      "call arrives at: 30.774\n",
-      "operator answered call 44 at 30.774\n",
-      "call arrives at: 30.777\n",
-      "call arrives at: 30.797\n",
-      "call 35 ended 31.114; waiting time was 0.000\n",
-      "operator answered call 45 at 31.114\n",
-      "call 32 ended 31.156; waiting time was 0.000\n",
-      "operator answered call 46 at 31.156\n",
-      "call 37 ended 31.180; waiting time was 0.000\n",
-      "call 34 ended 31.289; waiting time was 0.000\n",
-      "call 36 ended 31.349; waiting time was 0.000\n",
-      "call 38 ended 31.883; waiting time was 0.000\n",
-      "call 39 ended 31.980; waiting time was 0.000\n",
-      "call arrives at: 32.670\n",
-      "operator answered call 47 at 32.670\n",
-      "call 40 ended 32.921; waiting time was 0.000\n",
-      "call 33 ended 33.502; waiting time was 0.000\n",
-      "call arrives at: 33.786\n",
-      "operator answered call 48 at 33.786\n",
-      "call 42 ended 33.910; waiting time was 0.000\n",
-      "call arrives at: 34.620\n",
-      "operator answered call 49 at 34.620\n",
-      "call arrives at: 34.760\n",
-      "operator answered call 50 at 34.760\n",
-      "call 41 ended 34.815; waiting time was 0.492\n",
-      "call arrives at: 35.455\n",
-      "operator answered call 51 at 35.455\n",
-      "call arrives at: 35.510\n",
-      "operator answered call 52 at 35.510\n",
-      "call arrives at: 35.891\n",
-      "operator answered call 53 at 35.891\n",
-      "call arrives at: 36.131\n",
-      "operator answered call 54 at 36.131\n",
-      "call 43 ended 36.272; waiting time was 0.340\n",
-      "call arrives at: 36.617\n",
-      "operator answered call 55 at 36.617\n",
-      "call 44 ended 37.110; waiting time was 0.000\n",
-      "call arrives at: 37.363\n",
-      "operator answered call 56 at 37.363\n",
-      "call arrives at: 38.463\n",
-      "operator answered call 57 at 38.463\n",
-      "call 46 ended 38.602; waiting time was 0.360\n",
-      "call 47 ended 38.978; waiting time was 0.000\n",
-      "call arrives at: 39.262\n",
-      "operator answered call 58 at 39.262\n",
-      "call arrives at: 39.990\n",
-      "operator answered call 59 at 39.990\n",
-      "call arrives at: 40.086\n",
-      "call 45 ended 40.231; waiting time was 0.337\n",
-      "operator answered call 60 at 40.231\n",
-      "call arrives at: 40.542\n",
-      "call arrives at: 40.559\n",
-      "call 50 ended 40.921; waiting time was 0.000\n",
-      "operator answered call 61 at 40.921\n",
-      "call 54 ended 42.381; waiting time was 0.000\n",
-      "operator answered call 62 at 42.381\n",
-      "call 49 ended 42.458; waiting time was 0.000\n",
-      "call 51 ended 42.758; waiting time was 0.000\n",
-      "call 53 ended 42.975; waiting time was 0.000\n",
-      "call 48 ended 42.994; waiting time was 0.000\n",
-      "call arrives at: 43.088\n",
-      "operator answered call 63 at 43.088\n",
-      "call arrives at: 43.354\n",
-      "operator answered call 64 at 43.354\n",
-      "call 55 ended 44.480; waiting time was 0.000\n",
-      "call 56 ended 44.481; waiting time was 0.000\n",
-      "call 52 ended 44.621; waiting time was 0.000\n",
-      "call arrives at: 44.670\n",
-      "operator answered call 65 at 44.670\n",
-      "call arrives at: 44.771\n",
-      "operator answered call 66 at 44.771\n",
-      "call arrives at: 45.164\n",
-      "operator answered call 67 at 45.164\n",
-      "call arrives at: 45.283\n",
-      "operator answered call 68 at 45.283\n",
-      "call arrives at: 46.300\n",
-      "operator answered call 69 at 46.300\n",
-      "call 59 ended 46.961; waiting time was 0.000\n",
-      "call 58 ended 47.431; waiting time was 0.000\n",
-      "call 57 ended 47.536; waiting time was 0.000\n",
-      "call arrives at: 47.556\n",
-      "operator answered call 70 at 47.556\n",
-      "call arrives at: 48.068\n",
-      "operator answered call 71 at 48.068\n",
-      "call arrives at: 48.396\n",
-      "operator answered call 72 at 48.396\n",
-      "call arrives at: 48.748\n",
-      "call 60 ended 48.844; waiting time was 0.145\n",
-      "operator answered call 73 at 48.844\n",
-      "call 61 ended 49.092; waiting time was 0.379\n",
-      "call arrives at: 49.183\n",
-      "operator answered call 74 at 49.183\n",
-      "call 62 ended 49.855; waiting time was 1.822\n",
-      "call arrives at: 50.010\n",
-      "operator answered call 75 at 50.010\n",
-      "call arrives at: 50.228\n",
-      "call arrives at: 50.352\n",
-      "call arrives at: 50.430\n",
-      "call arrives at: 50.525\n",
-      "call 64 ended 50.651; waiting time was 0.000\n",
-      "operator answered call 76 at 50.651\n",
-      "call 63 ended 50.712; waiting time was 0.000\n",
-      "operator answered call 77 at 50.712\n",
-      "call arrives at: 50.814\n",
-      "call arrives at: 50.828\n",
-      "call arrives at: 50.903\n",
-      "call arrives at: 51.040\n",
-      "call arrives at: 51.206\n",
-      "call arrives at: 51.217\n",
-      "call arrives at: 51.877\n",
-      "call arrives at: 52.080\n",
-      "call arrives at: 52.159\n",
-      "call 67 ended 52.455; waiting time was 0.000\n",
-      "operator answered call 78 at 52.455\n",
-      "call 68 ended 52.513; waiting time was 0.000\n",
-      "operator answered call 79 at 52.513\n",
-      "call 66 ended 52.545; waiting time was 0.000\n",
-      "operator answered call 80 at 52.545\n",
-      "call arrives at: 52.582\n",
-      "call 65 ended 52.768; waiting time was 0.000\n",
-      "operator answered call 81 at 52.768\n",
-      "call arrives at: 53.145\n",
-      "call arrives at: 53.239\n",
-      "call arrives at: 53.384\n",
-      "call 70 ended 53.447; waiting time was 0.000\n",
-      "operator answered call 82 at 53.447\n",
-      "call arrives at: 54.080\n",
-      "call 73 ended 54.197; waiting time was 0.096\n",
-      "operator answered call 83 at 54.197\n",
-      "call 71 ended 54.508; waiting time was 0.000\n",
-      "operator answered call 84 at 54.508\n",
-      "call arrives at: 54.526\n",
-      "call arrives at: 54.712\n",
-      "call arrives at: 54.941\n",
-      "call 74 ended 55.178; waiting time was 0.000\n",
-      "operator answered call 85 at 55.178\n",
-      "call arrives at: 55.724\n",
-      "call 69 ended 55.832; waiting time was 0.000\n",
-      "operator answered call 86 at 55.832\n",
-      "call 72 ended 56.192; waiting time was 0.000\n",
-      "operator answered call 87 at 56.192\n",
-      "call arrives at: 56.642\n",
-      "call 75 ended 56.648; waiting time was 0.000\n",
-      "operator answered call 88 at 56.648\n",
-      "call arrives at: 57.010\n",
-      "call arrives at: 57.590\n",
-      "call arrives at: 57.666\n",
-      "call 77 ended 57.924; waiting time was 0.361\n",
-      "operator answered call 89 at 57.924\n",
-      "call arrives at: 58.218\n",
-      "call 80 ended 58.401; waiting time was 1.730\n",
-      "operator answered call 90 at 58.401\n",
-      "call arrives at: 59.792\n",
-      "call arrives at: 60.018\n",
-      "call 76 ended 60.131; waiting time was 0.423\n",
-      "operator answered call 91 at 60.131\n",
-      "call arrives at: 60.248\n",
-      "call 83 ended 60.579; waiting time was 3.157\n",
-      "operator answered call 92 at 60.579\n",
-      "call 78 ended 60.912; waiting time was 2.025\n",
-      "operator answered call 93 at 60.912\n",
-      "call 79 ended 60.973; waiting time was 1.988\n",
-      "operator answered call 94 at 60.973\n",
-      "call 84 ended 60.998; waiting time was 3.302\n",
-      "operator answered call 95 at 60.998\n",
-      "call 81 ended 61.303; waiting time was 1.940\n",
-      "operator answered call 96 at 61.303\n",
-      "call 82 ended 61.466; waiting time was 2.545\n",
-      "operator answered call 97 at 61.466\n",
-      "call 87 ended 61.870; waiting time was 4.112\n",
-      "operator answered call 98 at 61.870\n",
-      "call arrives at: 62.158\n",
-      "call 88 ended 63.709; waiting time was 4.489\n",
-      "operator answered call 99 at 63.709\n",
-      "call 85 ended 63.918; waiting time was 3.961\n",
-      "operator answered call 100 at 63.918\n",
-      "call 86 ended 63.925; waiting time was 3.955\n",
-      "operator answered call 101 at 63.925\n",
-      "call arrives at: 64.526\n",
-      "call arrives at: 65.682\n",
-      "call 89 ended 66.457; waiting time was 5.342\n",
-      "operator answered call 102 at 66.457\n",
-      "call 90 ended 66.677; waiting time was 5.256\n",
-      "operator answered call 103 at 66.677\n",
-      "call 94 ended 67.083; waiting time was 6.447\n",
-      "operator answered call 104 at 67.083\n",
-      "call arrives at: 67.892\n",
-      "call 95 ended 68.481; waiting time was 6.286\n",
-      "operator answered call 105 at 68.481\n",
-      "call 96 ended 68.498; waiting time was 6.363\n",
-      "operator answered call 106 at 68.498\n",
-      "call 91 ended 68.617; waiting time was 6.892\n",
-      "operator answered call 107 at 68.617\n",
-      "call 98 ended 69.027; waiting time was 5.228\n",
-      "operator answered call 108 at 69.027\n",
-      "call 92 ended 69.359; waiting time was 7.195\n",
-      "operator answered call 109 at 69.359\n",
-      "call 99 ended 70.255; waiting time was 6.699\n",
-      "call arrives at: 70.265\n",
-      "operator answered call 110 at 70.265\n",
-      "call 100 ended 70.581; waiting time was 6.328\n",
-      "call 93 ended 70.735; waiting time was 6.832\n",
-      "call 97 ended 71.365; waiting time was 5.742\n",
-      "call arrives at: 71.744\n",
-      "operator answered call 111 at 71.744\n",
-      "call arrives at: 72.067\n",
-      "operator answered call 112 at 72.067\n",
-      "call 101 ended 73.262; waiting time was 6.260\n",
-      "call arrives at: 73.673\n",
-      "operator answered call 113 at 73.673\n",
-      "call arrives at: 73.998\n",
-      "operator answered call 114 at 73.998\n",
-      "call 104 ended 74.344; waiting time was 7.065\n",
-      "call arrives at: 74.753\n",
-      "operator answered call 115 at 74.753\n",
-      "call 103 ended 74.754; waiting time was 6.885\n",
-      "call arrives at: 75.058\n",
-      "operator answered call 116 at 75.058\n",
-      "call 107 ended 75.217; waiting time was 4.092\n",
-      "call 102 ended 75.437; waiting time was 8.238\n",
-      "call 106 ended 75.439; waiting time was 6.340\n",
-      "call arrives at: 75.504\n",
-      "operator answered call 117 at 75.504\n",
-      "call arrives at: 76.040\n",
-      "operator answered call 118 at 76.040\n",
-      "call arrives at: 76.408\n",
-      "operator answered call 119 at 76.408\n",
-      "call 105 ended 76.675; waiting time was 8.233\n",
-      "call arrives at: 77.107\n",
-      "operator answered call 120 at 77.107\n",
-      "call 108 ended 77.269; waiting time was 3.345\n",
-      "call arrives at: 77.287\n",
-      "operator answered call 121 at 77.287\n",
-      "call arrives at: 77.299\n",
-      "call 110 ended 77.631; waiting time was 0.000\n",
-      "operator answered call 122 at 77.631\n",
-      "call arrives at: 77.768\n",
-      "call 109 ended 78.550; waiting time was 1.467\n",
-      "operator answered call 123 at 78.550\n",
-      "call arrives at: 79.101\n",
-      "call 113 ended 80.134; waiting time was 0.000\n",
-      "operator answered call 124 at 80.134\n",
-      "call arrives at: 80.496\n",
-      "call 115 ended 80.517; waiting time was 0.000\n",
-      "operator answered call 125 at 80.517\n",
-      "call arrives at: 80.719\n",
-      "call 116 ended 80.925; waiting time was 0.000\n",
-      "operator answered call 126 at 80.925\n",
-      "call 114 ended 80.935; waiting time was 0.000\n",
-      "call arrives at: 81.382\n",
-      "operator answered call 127 at 81.382\n",
-      "call 112 ended 81.527; waiting time was 0.000\n",
-      "call 111 ended 81.710; waiting time was 0.000\n",
-      "call arrives at: 82.265\n",
-      "operator answered call 128 at 82.265\n",
-      "call 121 ended 83.086; waiting time was 0.000\n",
-      "call 119 ended 83.340; waiting time was 0.000\n",
-      "call 118 ended 83.505; waiting time was 0.000\n",
-      "call 123 ended 84.170; waiting time was 0.783\n",
-      "call 122 ended 84.247; waiting time was 0.331\n",
-      "call arrives at: 84.578\n",
-      "operator answered call 129 at 84.578\n",
-      "call 117 ended 84.579; waiting time was 0.000\n",
-      "call 120 ended 84.642; waiting time was 0.000\n",
-      "call arrives at: 84.657\n",
-      "operator answered call 130 at 84.657\n",
-      "call arrives at: 85.147\n",
-      "operator answered call 131 at 85.147\n",
-      "call arrives at: 85.520\n",
-      "operator answered call 132 at 85.520\n",
-      "call arrives at: 85.584\n",
-      "operator answered call 133 at 85.584\n",
-      "call arrives at: 85.779\n",
-      "operator answered call 134 at 85.779\n",
-      "call arrives at: 85.787\n",
-      "operator answered call 135 at 85.787\n",
-      "call arrives at: 86.005\n",
-      "operator answered call 136 at 86.005\n",
-      "call arrives at: 86.113\n",
-      "call arrives at: 86.472\n",
-      "call arrives at: 86.553\n",
-      "call arrives at: 86.729\n",
-      "call 125 ended 87.304; waiting time was 0.021\n",
-      "operator answered call 137 at 87.304\n",
-      "call 124 ended 87.728; waiting time was 1.033\n",
-      "operator answered call 138 at 87.728\n",
-      "call arrives at: 87.955\n",
-      "call arrives at: 88.300\n",
-      "call arrives at: 88.396\n",
-      "call 126 ended 89.162; waiting time was 0.206\n",
-      "operator answered call 139 at 89.162\n",
-      "call 128 ended 89.438; waiting time was 0.000\n",
-      "operator answered call 140 at 89.438\n",
-      "call arrives at: 89.973\n",
-      "call 127 ended 90.321; waiting time was 0.000\n",
-      "operator answered call 141 at 90.321\n",
-      "call 130 ended 90.461; waiting time was 0.000\n",
-      "operator answered call 142 at 90.461\n",
-      "call arrives at: 90.541\n",
-      "call arrives at: 90.730\n",
-      "call 133 ended 91.088; waiting time was 0.000\n",
-      "operator answered call 143 at 91.088\n",
-      "call arrives at: 91.737\n",
-      "call 136 ended 91.854; waiting time was 0.000\n",
-      "operator answered call 144 at 91.854\n",
-      "call 129 ended 92.077; waiting time was 0.000\n",
-      "operator answered call 145 at 92.077\n",
-      "call 132 ended 92.202; waiting time was 0.000\n",
-      "operator answered call 146 at 92.202\n",
-      "call arrives at: 92.226\n",
-      "call 131 ended 92.296; waiting time was 0.000\n",
-      "operator answered call 147 at 92.296\n",
-      "call arrives at: 92.496\n",
-      "call 137 ended 93.184; waiting time was 1.191\n",
-      "operator answered call 148 at 93.184\n",
-      "call arrives at: 93.270\n",
-      "call 135 ended 93.489; waiting time was 0.000\n",
-      "operator answered call 149 at 93.489\n",
-      "call arrives at: 93.579\n",
-      "call arrives at: 93.839\n",
-      "call 134 ended 94.408; waiting time was 0.000\n",
-      "operator answered call 150 at 94.408\n",
-      "call arrives at: 95.261\n",
-      "call 139 ended 95.628; waiting time was 2.609\n",
-      "operator answered call 151 at 95.628\n",
-      "call 140 ended 96.103; waiting time was 2.709\n",
-      "operator answered call 152 at 96.103\n",
-      "call 141 ended 96.259; waiting time was 2.365\n",
-      "operator answered call 153 at 96.259\n",
-      "call arrives at: 96.335\n",
-      "call arrives at: 96.499\n",
-      "call 138 ended 96.872; waiting time was 1.256\n",
-      "operator answered call 154 at 96.872\n",
-      "call 142 ended 98.089; waiting time was 2.161\n",
-      "operator answered call 155 at 98.089\n",
-      "call 144 ended 98.753; waiting time was 1.881\n",
-      "call 145 ended 98.958; waiting time was 1.536\n",
-      "call 143 ended 99.276; waiting time was 2.693\n",
-      "call arrives at: 99.625\n",
-      "operator answered call 156 at 99.625\n",
-      "call 149 ended 99.992; waiting time was 0.992\n",
+      "call arrives at: 0.118\n",
+      "operator answered call 1 at 0.118\n",
+      "call arrives at: 0.614\n",
+      "operator answered call 2 at 0.614\n",
+      "call arrives at: 1.317\n",
+      "operator answered call 3 at 1.317\n",
+      "call arrives at: 2.104\n",
+      "operator answered call 4 at 2.104\n",
+      "call arrives at: 2.737\n",
+      "operator answered call 5 at 2.737\n",
+      "call arrives at: 3.644\n",
+      "operator answered call 6 at 3.644\n",
+      "call arrives at: 3.868\n",
+      "operator answered call 7 at 3.868\n",
+      "call arrives at: 5.352\n",
+      "operator answered call 8 at 5.352\n",
+      "call arrives at: 5.840\n",
+      "operator answered call 9 at 5.840\n",
+      "call arrives at: 6.178\n",
+      "operator answered call 10 at 6.178\n",
+      "call arrives at: 6.197\n",
+      "operator answered call 11 at 6.197\n",
+      "call arrives at: 6.840\n",
+      "operator answered call 12 at 6.840\n",
+      "call 1 ended 7.194; waiting time was 0.000\n",
+      "call 3 ended 7.692; waiting time was 0.000\n",
+      "call 2 ended 7.901; waiting time was 0.000\n",
+      "call arrives at: 8.351\n",
+      "operator answered call 13 at 8.351\n",
+      "call arrives at: 8.580\n",
+      "operator answered call 14 at 8.580\n",
+      "call arrives at: 8.604\n",
+      "operator answered call 15 at 8.604\n",
+      "call 4 ended 9.268; waiting time was 0.000\n",
+      "call 5 ended 9.818; waiting time was 0.000\n",
+      "call arrives at: 10.418\n",
+      "operator answered call 16 at 10.418\n",
+      "call 6 ended 10.434; waiting time was 0.000\n",
+      "call arrives at: 10.582\n",
+      "operator answered call 17 at 10.582\n",
+      "call 7 ended 10.876; waiting time was 0.000\n",
+      "call arrives at: 11.248\n",
+      "operator answered call 18 at 11.248\n",
+      "call arrives at: 11.282\n",
+      "operator answered call 19 at 11.282\n",
+      "call arrives at: 11.320\n",
+      "operator answered call 20 at 11.320\n",
+      "call arrives at: 11.331\n",
+      "call arrives at: 11.567\n",
+      "call arrives at: 12.358\n",
+      "call 11 ended 12.845; waiting time was 0.000\n",
+      "operator answered call 21 at 12.845\n",
+      "call arrives at: 12.868\n",
+      "call 12 ended 13.058; waiting time was 0.000\n",
+      "operator answered call 22 at 13.058\n",
+      "call arrives at: 13.163\n",
+      "call 9 ended 13.271; waiting time was 0.000\n",
+      "operator answered call 23 at 13.271\n",
+      "call 8 ended 13.921; waiting time was 0.000\n",
+      "operator answered call 24 at 13.921\n",
+      "call 10 ended 14.062; waiting time was 0.000\n",
+      "operator answered call 25 at 14.062\n",
+      "call arrives at: 15.562\n",
+      "call 13 ended 15.691; waiting time was 0.000\n",
+      "operator answered call 26 at 15.691\n",
+      "call arrives at: 15.711\n",
+      "call arrives at: 16.083\n",
+      "call 16 ended 16.260; waiting time was 0.000\n",
+      "operator answered call 27 at 16.260\n",
+      "call 15 ended 16.434; waiting time was 0.000\n",
+      "operator answered call 28 at 16.434\n",
+      "call arrives at: 16.664\n",
+      "call 14 ended 17.447; waiting time was 0.000\n",
+      "operator answered call 29 at 17.447\n",
+      "call arrives at: 17.961\n",
+      "call 18 ended 18.195; waiting time was 0.000\n",
+      "operator answered call 30 at 18.195\n",
+      "call arrives at: 18.215\n",
+      "call 20 ended 18.393; waiting time was 0.000\n",
+      "operator answered call 31 at 18.393\n",
+      "call 19 ended 18.661; waiting time was 0.000\n",
+      "call 17 ended 18.801; waiting time was 0.000\n",
+      "call arrives at: 18.969\n",
+      "operator answered call 32 at 18.969\n",
+      "call 21 ended 19.464; waiting time was 1.513\n",
+      "call arrives at: 20.137\n",
+      "operator answered call 33 at 20.137\n",
+      "call 24 ended 20.307; waiting time was 1.053\n",
+      "call 22 ended 20.317; waiting time was 1.491\n",
+      "call 23 ended 20.649; waiting time was 0.914\n",
+      "call arrives at: 21.330\n",
+      "operator answered call 34 at 21.330\n",
+      "call 25 ended 21.358; waiting time was 0.899\n",
+      "call arrives at: 21.906\n",
+      "operator answered call 35 at 21.906\n",
+      "call 28 ended 22.506; waiting time was 0.351\n",
+      "call arrives at: 22.618\n",
+      "operator answered call 36 at 22.618\n",
+      "call 26 ended 22.716; waiting time was 0.129\n",
+      "call arrives at: 22.816\n",
+      "operator answered call 37 at 22.816\n",
+      "call arrives at: 22.897\n",
+      "operator answered call 38 at 22.897\n",
+      "call arrives at: 22.960\n",
+      "operator answered call 39 at 22.960\n",
+      "call arrives at: 23.089\n",
+      "operator answered call 40 at 23.089\n",
+      "call 27 ended 23.706; waiting time was 0.549\n",
+      "call arrives at: 24.263\n",
+      "operator answered call 41 at 24.263\n",
+      "call 29 ended 24.440; waiting time was 0.783\n",
+      "call 30 ended 24.681; waiting time was 0.234\n",
+      "call arrives at: 25.463\n",
+      "operator answered call 42 at 25.463\n",
+      "call 31 ended 25.802; waiting time was 0.178\n",
+      "call 32 ended 26.132; waiting time was 0.000\n",
+      "call 33 ended 26.241; waiting time was 0.000\n",
+      "call arrives at: 26.269\n",
+      "operator answered call 43 at 26.269\n",
+      "call arrives at: 26.401\n",
+      "operator answered call 44 at 26.401\n",
+      "call arrives at: 27.569\n",
+      "operator answered call 45 at 27.569\n",
+      "call 36 ended 29.032; waiting time was 0.000\n",
+      "call 34 ended 29.353; waiting time was 0.000\n",
+      "call 39 ended 29.503; waiting time was 0.000\n",
+      "call 35 ended 29.539; waiting time was 0.000\n",
+      "call 38 ended 30.129; waiting time was 0.000\n",
+      "call arrives at: 30.530\n",
+      "operator answered call 46 at 30.530\n",
+      "call 41 ended 30.997; waiting time was 0.000\n",
+      "call 40 ended 31.695; waiting time was 0.000\n",
+      "call 37 ended 31.889; waiting time was 0.000\n",
+      "call arrives at: 32.165\n",
+      "operator answered call 47 at 32.165\n",
+      "call 42 ended 32.259; waiting time was 0.000\n",
+      "call arrives at: 32.277\n",
+      "operator answered call 48 at 32.277\n",
+      "call 43 ended 33.373; waiting time was 0.000\n",
+      "call 45 ended 34.133; waiting time was 0.000\n",
+      "call 44 ended 34.334; waiting time was 0.000\n",
+      "call arrives at: 35.479\n",
+      "operator answered call 49 at 35.479\n",
+      "call arrives at: 36.176\n",
+      "operator answered call 50 at 36.176\n",
+      "call arrives at: 36.395\n",
+      "operator answered call 51 at 36.395\n",
+      "call arrives at: 37.047\n",
+      "operator answered call 52 at 37.047\n",
+      "call arrives at: 37.339\n",
+      "operator answered call 53 at 37.339\n",
+      "call arrives at: 37.962\n",
+      "operator answered call 54 at 37.962\n",
+      "call 47 ended 38.950; waiting time was 0.000\n",
+      "call 46 ended 39.282; waiting time was 0.000\n",
+      "call 48 ended 39.729; waiting time was 0.000\n",
+      "call arrives at: 40.452\n",
+      "operator answered call 55 at 40.452\n",
+      "call arrives at: 40.810\n",
+      "operator answered call 56 at 40.810\n",
+      "call 49 ended 40.890; waiting time was 0.000\n",
+      "call arrives at: 40.915\n",
+      "operator answered call 57 at 40.915\n",
+      "call arrives at: 41.093\n",
+      "operator answered call 58 at 41.093\n",
+      "call arrives at: 41.615\n",
+      "operator answered call 59 at 41.615\n",
+      "call arrives at: 41.747\n",
+      "operator answered call 60 at 41.747\n",
+      "call arrives at: 41.825\n",
+      "operator answered call 61 at 41.825\n",
+      "call arrives at: 42.352\n",
+      "operator answered call 62 at 42.352\n",
+      "call arrives at: 42.480\n",
+      "call 50 ended 42.965; waiting time was 0.000\n",
+      "operator answered call 63 at 42.965\n",
+      "call arrives at: 43.284\n",
+      "call 54 ended 43.490; waiting time was 0.000\n",
+      "operator answered call 64 at 43.490\n",
+      "call 52 ended 43.665; waiting time was 0.000\n",
+      "call 51 ended 44.021; waiting time was 0.000\n",
+      "call arrives at: 44.609\n",
+      "operator answered call 65 at 44.609\n",
+      "call arrives at: 44.996\n",
+      "operator answered call 66 at 44.996\n",
+      "call 53 ended 45.329; waiting time was 0.000\n",
+      "call arrives at: 45.449\n",
+      "operator answered call 67 at 45.449\n",
+      "call arrives at: 46.487\n",
+      "call arrives at: 46.612\n",
+      "call 58 ended 46.863; waiting time was 0.000\n",
+      "operator answered call 68 at 46.863\n",
+      "call 55 ended 47.556; waiting time was 0.000\n",
+      "operator answered call 69 at 47.556\n",
+      "call arrives at: 47.982\n",
+      "call arrives at: 48.030\n",
+      "call 57 ended 48.270; waiting time was 0.000\n",
+      "operator answered call 70 at 48.270\n",
+      "call arrives at: 48.290\n",
+      "call arrives at: 48.320\n",
+      "call arrives at: 48.422\n",
+      "call 59 ended 48.477; waiting time was 0.000\n",
+      "operator answered call 71 at 48.477\n",
+      "call 62 ended 48.500; waiting time was 0.000\n",
+      "operator answered call 72 at 48.500\n",
+      "call arrives at: 48.550\n",
+      "call arrives at: 48.624\n",
+      "call 60 ended 48.693; waiting time was 0.000\n",
+      "operator answered call 73 at 48.693\n",
+      "call arrives at: 48.705\n",
+      "call arrives at: 48.870\n",
+      "call 61 ended 48.982; waiting time was 0.000\n",
+      "operator answered call 74 at 48.982\n",
+      "call arrives at: 49.177\n",
+      "call arrives at: 49.453\n",
+      "call 56 ended 49.917; waiting time was 0.000\n",
+      "operator answered call 75 at 49.917\n",
+      "call 63 ended 50.078; waiting time was 0.486\n",
+      "operator answered call 76 at 50.078\n",
+      "call 66 ended 50.515; waiting time was 0.000\n",
+      "operator answered call 77 at 50.515\n",
+      "call 65 ended 51.540; waiting time was 0.000\n",
+      "operator answered call 78 at 51.540\n",
+      "call arrives at: 51.634\n",
+      "call arrives at: 52.081\n",
+      "call 64 ended 52.575; waiting time was 0.206\n",
+      "operator answered call 79 at 52.575\n",
+      "call 68 ended 53.287; waiting time was 0.375\n",
+      "operator answered call 80 at 53.287\n",
+      "call arrives at: 53.531\n",
+      "call arrives at: 53.586\n",
+      "call 67 ended 53.849; waiting time was 0.000\n",
+      "operator answered call 81 at 53.849\n",
+      "call arrives at: 53.957\n",
+      "call 70 ended 54.688; waiting time was 0.288\n",
+      "operator answered call 82 at 54.688\n",
+      "call 71 ended 54.706; waiting time was 0.447\n",
+      "operator answered call 83 at 54.706\n",
+      "call 69 ended 54.846; waiting time was 0.943\n",
+      "operator answered call 84 at 54.846\n",
+      "call arrives at: 54.942\n",
+      "call arrives at: 55.055\n",
+      "call arrives at: 55.802\n",
+      "call arrives at: 55.844\n",
+      "call arrives at: 56.297\n",
+      "call 72 ended 56.307; waiting time was 0.210\n",
+      "operator answered call 85 at 56.307\n",
+      "call 73 ended 56.918; waiting time was 0.372\n",
+      "operator answered call 86 at 56.918\n",
+      "call 77 ended 57.284; waiting time was 1.810\n",
+      "operator answered call 87 at 57.284\n",
+      "call 74 ended 57.531; waiting time was 0.559\n",
+      "operator answered call 88 at 57.531\n",
+      "call arrives at: 57.689\n",
+      "call 76 ended 57.801; waiting time was 1.453\n",
+      "operator answered call 89 at 57.801\n",
+      "call arrives at: 57.808\n",
+      "call 75 ended 57.885; waiting time was 1.367\n",
+      "operator answered call 90 at 57.885\n",
+      "call 78 ended 57.891; waiting time was 2.670\n",
+      "operator answered call 91 at 57.891\n",
+      "call arrives at: 57.965\n",
+      "call arrives at: 58.523\n",
+      "call arrives at: 58.733\n",
+      "call 79 ended 59.200; waiting time was 3.398\n",
+      "operator answered call 92 at 59.200\n",
+      "call arrives at: 59.680\n",
+      "call arrives at: 59.778\n",
+      "call arrives at: 59.938\n",
+      "call arrives at: 60.426\n",
+      "call 81 ended 61.594; waiting time was 2.215\n",
+      "operator answered call 93 at 61.594\n",
+      "call arrives at: 61.627\n",
+      "call 80 ended 61.667; waiting time was 3.834\n",
+      "operator answered call 94 at 61.667\n",
+      "call arrives at: 61.788\n",
+      "call 83 ended 62.619; waiting time was 1.174\n",
+      "operator answered call 95 at 62.619\n",
+      "call arrives at: 62.693\n",
+      "call 87 ended 63.221; waiting time was 2.230\n",
+      "operator answered call 96 at 63.221\n",
+      "call 85 ended 63.249; waiting time was 2.350\n",
+      "operator answered call 97 at 63.249\n",
+      "call 86 ended 63.327; waiting time was 1.976\n",
+      "operator answered call 98 at 63.327\n",
+      "call arrives at: 63.404\n",
+      "call 84 ended 63.511; waiting time was 1.260\n",
+      "operator answered call 99 at 63.511\n",
+      "call 89 ended 64.001; waiting time was 1.957\n",
+      "operator answered call 100 at 64.001\n",
+      "call arrives at: 64.174\n",
+      "call 82 ended 64.428; waiting time was 2.607\n",
+      "operator answered call 101 at 64.428\n",
+      "call arrives at: 64.525\n",
+      "call arrives at: 64.786\n",
+      "call arrives at: 64.854\n",
+      "call arrives at: 64.967\n",
+      "call 92 ended 65.065; waiting time was 1.392\n",
+      "operator answered call 102 at 65.065\n",
+      "call arrives at: 65.287\n",
+      "call 88 ended 65.928; waiting time was 1.729\n",
+      "operator answered call 103 at 65.928\n",
+      "call 90 ended 66.129; waiting time was 1.588\n",
+      "operator answered call 104 at 66.129\n",
+      "call 91 ended 66.409; waiting time was 0.202\n",
+      "operator answered call 105 at 66.409\n",
+      "call arrives at: 66.783\n",
+      "call arrives at: 67.020\n",
+      "call arrives at: 67.438\n",
+      "call arrives at: 67.604\n",
+      "call arrives at: 67.904\n",
+      "call 93 ended 68.172; waiting time was 3.628\n",
+      "operator answered call 106 at 68.172\n",
+      "call arrives at: 68.194\n",
+      "call arrives at: 68.693\n",
+      "call arrives at: 69.149\n",
+      "call 97 ended 69.441; waiting time was 3.471\n",
+      "operator answered call 107 at 69.441\n",
+      "call arrives at: 69.459\n",
+      "call arrives at: 69.657\n",
+      "call arrives at: 69.742\n",
+      "call 95 ended 69.808; waiting time was 3.886\n",
+      "operator answered call 108 at 69.808\n",
+      "call arrives at: 69.827\n",
+      "call arrives at: 69.939\n",
+      "call arrives at: 70.054\n",
+      "call arrives at: 70.118\n",
+      "call 96 ended 70.195; waiting time was 3.542\n",
+      "operator answered call 109 at 70.195\n",
+      "call 100 ended 70.935; waiting time was 2.374\n",
+      "operator answered call 110 at 70.935\n",
+      "call 94 ended 70.980; waiting time was 3.143\n",
+      "operator answered call 111 at 70.980\n",
+      "call arrives at: 71.390\n",
+      "call 99 ended 71.750; waiting time was 3.084\n",
+      "operator answered call 112 at 71.750\n",
+      "call 104 ended 72.300; waiting time was 1.955\n",
+      "operator answered call 113 at 72.300\n",
+      "call 98 ended 72.387; waiting time was 3.389\n",
+      "operator answered call 114 at 72.387\n",
+      "call 102 ended 72.543; waiting time was 2.372\n",
+      "operator answered call 115 at 72.543\n",
+      "call 105 ended 72.643; waiting time was 1.884\n",
+      "operator answered call 116 at 72.643\n",
+      "call arrives at: 72.898\n",
+      "call 103 ended 73.297; waiting time was 2.524\n",
+      "operator answered call 117 at 73.297\n",
+      "call 101 ended 73.435; waiting time was 2.641\n",
+      "operator answered call 118 at 73.435\n",
+      "call arrives at: 75.254\n",
+      "call 106 ended 75.651; waiting time was 3.386\n",
+      "operator answered call 119 at 75.651\n",
+      "call arrives at: 76.085\n",
+      "call 109 ended 76.340; waiting time was 4.907\n",
+      "operator answered call 120 at 76.340\n",
+      "call 111 ended 76.781; waiting time was 3.960\n",
+      "operator answered call 121 at 76.781\n",
+      "call 107 ended 76.817; waiting time was 4.587\n",
+      "operator answered call 122 at 76.817\n",
+      "call arrives at: 76.870\n",
+      "call 110 ended 78.181; waiting time was 4.152\n",
+      "operator answered call 123 at 78.181\n",
+      "call arrives at: 78.287\n",
+      "call 108 ended 78.846; waiting time was 4.842\n",
+      "operator answered call 124 at 78.846\n",
+      "call 114 ended 78.976; waiting time was 4.483\n",
+      "operator answered call 125 at 78.976\n",
+      "call arrives at: 78.985\n",
+      "call 115 ended 79.005; waiting time was 4.349\n",
+      "operator answered call 126 at 79.005\n",
+      "call arrives at: 79.054\n",
+      "call 118 ended 79.213; waiting time was 3.976\n",
+      "operator answered call 127 at 79.213\n",
+      "call 116 ended 79.339; waiting time was 3.951\n",
+      "operator answered call 128 at 79.339\n",
+      "call 113 ended 80.374; waiting time was 4.697\n",
+      "operator answered call 129 at 80.374\n",
+      "call arrives at: 80.426\n",
+      "call arrives at: 80.680\n",
+      "call arrives at: 80.908\n",
+      "call arrives at: 80.928\n",
+      "call 117 ended 81.180; waiting time was 4.148\n",
+      "operator answered call 130 at 81.180\n",
+      "call 112 ended 81.291; waiting time was 4.312\n",
+      "operator answered call 131 at 81.291\n",
+      "call arrives at: 81.814\n",
+      "call arrives at: 82.172\n",
+      "call arrives at: 82.730\n",
+      "call 121 ended 83.267; waiting time was 6.954\n",
+      "operator answered call 132 at 83.267\n",
+      "call arrives at: 83.565\n",
+      "call arrives at: 83.623\n",
+      "call arrives at: 83.656\n",
+      "call arrives at: 84.274\n",
+      "call 122 ended 84.901; waiting time was 6.879\n",
+      "operator answered call 133 at 84.901\n",
+      "call 125 ended 84.958; waiting time was 7.586\n",
+      "operator answered call 134 at 84.958\n",
+      "call 123 ended 85.066; waiting time was 8.127\n",
+      "operator answered call 135 at 85.066\n",
+      "call arrives at: 85.214\n",
+      "call arrives at: 85.552\n",
+      "call 119 ended 85.599; waiting time was 5.994\n",
+      "operator answered call 136 at 85.599\n",
+      "call 128 ended 85.782; waiting time was 3.254\n",
+      "operator answered call 137 at 85.782\n",
+      "call 120 ended 85.814; waiting time was 6.598\n",
+      "operator answered call 138 at 85.814\n",
+      "call 127 ended 86.793; waiting time was 3.959\n",
+      "operator answered call 139 at 86.793\n",
+      "call arrives at: 87.072\n",
+      "call 126 ended 87.338; waiting time was 6.107\n",
+      "operator answered call 140 at 87.338\n",
+      "call 129 ended 87.448; waiting time was 3.504\n",
+      "operator answered call 141 at 87.448\n",
+      "call 130 ended 87.610; waiting time was 2.893\n",
+      "operator answered call 142 at 87.610\n",
+      "call arrives at: 87.727\n",
+      "call arrives at: 88.137\n",
+      "call arrives at: 88.238\n",
+      "call arrives at: 88.404\n",
+      "call 124 ended 88.514; waiting time was 8.728\n",
+      "operator answered call 143 at 88.514\n",
+      "call 131 ended 88.925; waiting time was 2.305\n",
+      "operator answered call 144 at 88.925\n",
+      "call arrives at: 88.940\n",
+      "call arrives at: 89.600\n",
+      "call arrives at: 90.119\n",
+      "call arrives at: 90.432\n",
+      "call 132 ended 90.438; waiting time was 4.213\n",
+      "operator answered call 145 at 90.438\n",
+      "call 137 ended 91.437; waiting time was 3.968\n",
+      "operator answered call 146 at 91.437\n",
+      "call arrives at: 91.846\n",
+      "call 138 ended 91.851; waiting time was 3.641\n",
+      "operator answered call 147 at 91.851\n",
+      "call arrives at: 92.344\n",
+      "call arrives at: 92.533\n",
+      "call 134 ended 92.656; waiting time was 4.278\n",
+      "operator answered call 148 at 92.656\n",
+      "call 135 ended 92.967; waiting time was 4.158\n",
+      "operator answered call 149 at 92.967\n",
+      "call 136 ended 93.244; waiting time was 4.671\n",
+      "operator answered call 150 at 93.244\n",
+      "call 133 ended 94.006; waiting time was 4.475\n",
+      "operator answered call 151 at 94.006\n",
+      "call arrives at: 94.153\n",
+      "call 142 ended 94.189; waiting time was 3.954\n",
+      "operator answered call 152 at 94.189\n",
+      "call 141 ended 94.238; waiting time was 3.825\n",
+      "operator answered call 153 at 94.238\n",
+      "call arrives at: 94.780\n",
+      "call 140 ended 95.066; waiting time was 3.773\n",
+      "operator answered call 154 at 95.066\n",
+      "call 143 ended 95.542; waiting time was 4.240\n",
+      "operator answered call 155 at 95.542\n",
+      "call 139 ended 95.571; waiting time was 4.063\n",
+      "operator answered call 156 at 95.571\n",
+      "call 144 ended 96.254; waiting time was 3.711\n",
+      "operator answered call 157 at 96.254\n",
+      "call arrives at: 96.653\n",
+      "call arrives at: 98.142\n",
+      "call arrives at: 98.381\n",
+      "call 147 ended 98.497; waiting time was 4.124\n",
+      "operator answered call 158 at 98.497\n",
+      "call 146 ended 99.290; waiting time was 4.365\n",
+      "operator answered call 159 at 99.290\n",
+      "call 148 ended 99.445; waiting time was 4.519\n",
+      "operator answered call 160 at 99.445\n",
+      "call arrives at: 99.704\n",
+      "call 145 ended 99.778; waiting time was 4.886\n",
+      "operator answered call 161 at 99.778\n",
       "end of run. simulation clock time = 100\n"
      ]
     }
@@ -703,7 +723,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.9"
+   "version": "3.1.undefined"
   }
  },
  "nbformat": 4,
diff --git a/content/05_basic_results.ipynb b/content/05_basic_results.ipynb
index 36f6486..e698c4a 100644
--- a/content/05_basic_results.ipynb
+++ b/content/05_basic_results.ipynb
@@ -7,13 +7,17 @@
    "source": [
     "# Collecting results from a single run\n",
     "\n",
+    "When running our DES, we want to **collect data** that helps us to analyse the system performance, such as **wait times, resource utilisation, and queue lengths**.\n",
+    "\n",
     "A tool like `simpy` allows you to collect your data flexibly using an approach that makes sense to you! Some options are:\n",
     "\n",
     "1. **Code an auditor / observer process**.  This process will periodically observe the state of the system. We can use this to collect information on **current state at time t**. For example, how many patients are queuing and how many have a call in progress between by time of day.  \n",
     "\n",
     "2. **Store process metrics during a run and perform calculations at the end of a run**. For example, if you want to calculate mean patient waiting time then store each patient waiting time in a list and calculate the mean at the end of the run.\n",
     "\n",
-    "3. **Conduct and audit or calculate running statistics as the simulation executes an event**.  For example, as a patient completes a call we can calculate a running mean of waiting times and a running total of the operators are taking calls. The latter measure can then be used to calculate server utilisation. You could also use this approach to audit queue length where the queue length is recorded each time request for a resource is made (and/or when a resource is released).\n"
+    "3. **Conduct and audit or calculate running statistics as the simulation executes an event**.  For example, as a patient completes a call we can calculate a running mean of waiting times and a running total of the operators are taking calls. The latter measure can then be used to calculate server utilisation. You could also use this approach to audit queue length where the queue length is recorded each time request for a resource is made (and/or when a resource is released).\n",
+    "\n",
+    "This notebook provides an example of the **second strategy**."
    ]
   },
   {
@@ -43,11 +47,18 @@
    "source": [
     "## 2. Calculating mean waiting time\n",
     "\n",
-    "The second strategy to results collection is to store either a reference to a quantitative value (e.g. waiting time) during the run.  Once the run is complete you will need to include a procedure for computing the metric of interest.  **An advantage** of this strategy is that it is very simple, captures all data, and has minimal computational overhead during a model run!  **A potential disadvantage** is that for complex simulation you may end up storing a large amount of data in memory. In these circumstances, it may be worth exploring event driven strategies to reduce memory requirements.\n",
+    "The second strategy to results collection is to store either a reference to a quantitative value (e.g. waiting time) during the run.  Once the run is complete you will need to include a procedure for computing the metric of interest.\n",
+    "\n",
+    "* 😊 An advantage of this strategy is that it is very **simple**, captures all data, and has minimal computational overhead during a model run!\n",
+    "* 😢 A potential disadvantage is that for complex simulation you may end up storing a **large amount of data in memory**. In these circumstances, it may be worth exploring event driven strategies to reduce memory requirements.\n",
+    "\n",
+    "![](../img/callcentre_waittime.png)\n",
     "\n",
-    "In our example, we will store each patient's waiting time in a python list. At the end of the run we will loop through these references and calculate **mean waiting time** and **operator utilisation**. \n",
+    "In our example, we will:\n",
     "\n",
-    "To do this I'm going to declare a list with notebook level scope.  The `service` function will then append a `waiting_time` for a caller to the list each time the caller enters service.  "
+    "1. Create a **list** (`results['waiting_times']`) to store each caller's wait time\n",
+    "2. When the model runs, **each time a caller enters service**, the `service()` function will append a `waiting_time` for the caller to the list\n",
+    "3. At the end of the run, we will loop through these references and calculate **mean waiting time**"
    ]
   },
   {
@@ -55,11 +66,11 @@
    "id": "77a6624a-3349-4fb4-8e4d-b65fa8984337",
    "metadata": {},
    "source": [
-    "### 2.1 Notebook level variables for results collection.\n",
+    "### 2.1 Create list to store wait times\n",
     "\n",
-    "We will create a python dictionary called `results` to store result collection variables.  This means that it is simple to add new variables in at a later date.\n",
+    "Our list will be stored within a python **dictionary** we create called `results`. This means that it is simple to add new metrics (e.g. utilisation, queue length) at a later date.\n",
     "\n",
-    "The dictionary has notebook level scope. This means that any functions or class in the notebook can access and/or append to the list access via the key `waiting_times`."
+    "The dictionary has notebook level scope. This means that **any functions or class** in the notebook can access and/or append to the list access via the key `waiting_times`."
    ]
   },
   {
@@ -78,9 +89,11 @@
    "id": "19b3400d-bf47-4998-a981-eab294e74bc0",
    "metadata": {},
    "source": [
-    "### 2.2 A helper function\n",
+    "### 2.2 Enable/disable print statements\n",
     "\n",
-    "We will create a helper function called trace that wraps `print`.  We can set a variable called `TRACE` that switches printing patient level results on and off."
+    "Throughout the model, we use `print` statements to print progress (e.g. every time an operator starts and ends a call).\n",
+    "\n",
+    "To **enable/disable** printing, we create a helper function called `trace()` that wraps `print`.  We can then set a variable called `TRACE` to switch these print messages on or off."
    ]
   },
   {
@@ -92,7 +105,7 @@
    "source": [
     "def trace(msg):\n",
     "    '''\n",
-    "    Turing printing of events on and off.\n",
+    "    Turning printing of events on and off.\n",
     "    \n",
     "    Params:\n",
     "    -------\n",
@@ -108,9 +121,13 @@
    "id": "ebeb9512-f28f-41bb-a8d2-50164bfc31f7",
    "metadata": {},
    "source": [
-    "## 2.3 Service and arrival functions\n",
+    "### 2.3 Service and arrival functions\n",
+    "\n",
+    "The only modification we need to make is to the `service` function.  We will add in a line of code to record the `waiting_time` of the caller as they enter service.\n",
     "\n",
-    "The only modification we need to make is to the `service` function.  We will add in a line of code to record the `waiting_time` of the caller as they enter service."
+    "```python\n",
+    "results['waiting_times'].append(waiting_time)\n",
+    "```"
    ]
   },
   {
@@ -219,9 +236,13 @@
    "id": "222e5d74-cb5c-48e5-8f48-a268c7d92c6a",
    "metadata": {},
    "source": [
-    "## A single run function\n",
+    "### 2.4 Conduct a single run of the model\n",
+    "\n",
+    "We could keep the code to run the model as a script. However, it is useful to create a new **function** called `single_run` that we use to perform a **single replication** of the model and return results. \n",
+    "\n",
+    "If we later want to run **multiple replications** it is just a case of running `single_run` in a **loop**.\n",
     "\n",
-    "We could keep the code to run the model as a script. However, it is useful to create a new function called `single_run` that we use to perform a single replication of the model and return results.  If we later want to run multiple replications it is just a case of running `single_run` in a loop."
+    "We add a line of code to find the mean waiting times from `results`."
    ]
   },
   {
@@ -274,7 +295,7 @@
      "text": [
       "end of run. simulation clock time = 1000\n",
       "Simulation Complete\n",
-      "Waiting time for call operators: 1.94 minutes\n"
+      "Waiting time for call operators: 2.54 minutes\n"
      ]
     }
    ],
@@ -312,7 +333,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.9"
+   "version": "3.11.10"
   }
  },
  "nbformat": 4,
diff --git a/img/callcentre.drawio b/img/callcentre.drawio
new file mode 100644
index 0000000..e92fa02
--- /dev/null
+++ b/img/callcentre.drawio
@@ -0,0 +1,72 @@
+<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" version="24.7.17">
+  <diagram name="Page-1" id="NLeWijuplnK_P19Hk09n">
+    <mxGraphModel dx="1928" dy="983" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="r9qKXJP48PfzUs8szVPf-1" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="50" y="190" width="100" height="220" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B0B0B0;" vertex="1" parent="1">
+          <mxGeometry x="52.5" y="197" width="95" height="211" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
+          <mxGeometry x="NaN" y="NaN" width="NaN" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-4" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#050505;" vertex="1" parent="1">
+          <mxGeometry x="95" y="191" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-5" value="&lt;font style=&quot;font-size: 36px;&quot;&gt;111&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="70" y="220" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-6" value="&lt;font style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;Calls&lt;/b&gt;&lt;/font&gt;&lt;div&gt;&lt;font style=&quot;font-size: 24px;&quot;&gt;100 per hour&lt;/font&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="19.75" y="440" width="160.5" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-7" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;fillColor=#EBEBEB;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="190" y="310" as="sourcePoint" />
+            <mxPoint x="510" y="310" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-18" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;Wait for available operator&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="180.25" y="320" width="320" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-19" value="" style="group" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="530" y="220" width="100" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-8" value="" style="shape=actor;whiteSpace=wrap;html=1;fillColor=#0066CC;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+          <mxGeometry y="20" width="100" height="140" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-11" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=-90;fillColor=#C48850;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+          <mxGeometry x="15" y="17.5" width="70" height="55" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-13" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=90;fillColor=#000000;strokeColor=default;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+          <mxGeometry x="7" y="40" width="30" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-14" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=90;fillColor=#000000;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+          <mxGeometry x="62" y="40" width="30" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-16" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=default;" edge="1" parent="r9qKXJP48PfzUs8szVPf-19">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="19.5" y="47" as="sourcePoint" />
+            <mxPoint x="76.5" y="47" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="30" y="11" />
+              <mxPoint x="50" />
+              <mxPoint x="78" y="21" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-17" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="r9qKXJP48PfzUs8szVPf-19">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="55" as="sourcePoint" />
+            <mxPoint x="57" y="65" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-20" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;Call operators&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;13 operators&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;Each call lasts 10-15 minutes&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="455.13" y="440" width="249.75" height="30" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
diff --git a/img/callcentre.png b/img/callcentre.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6fe87a7c1bb3962418f517ee17f8547f4ded93d
GIT binary patch
diff --git a/img/callcentre_waittime.drawio b/img/callcentre_waittime.drawio
new file mode 100644
index 0000000..2ee62c0
--- /dev/null
+++ b/img/callcentre_waittime.drawio
@@ -0,0 +1,81 @@
+<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" version="24.7.17">
+  <diagram name="Page-1" id="NLeWijuplnK_P19Hk09n">
+    <mxGraphModel dx="1034" dy="1180" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="r9qKXJP48PfzUs8szVPf-1" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="50" y="190" width="100" height="220" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B0B0B0;" vertex="1" parent="1">
+          <mxGeometry x="52.5" y="197" width="95" height="211" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
+          <mxGeometry x="NaN" y="NaN" width="NaN" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-4" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#050505;" vertex="1" parent="1">
+          <mxGeometry x="95" y="191" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-5" value="&lt;font style=&quot;font-size: 36px;&quot;&gt;111&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="70" y="220" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-6" value="&lt;font style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;Calls&lt;/b&gt;&lt;/font&gt;&lt;div&gt;&lt;font style=&quot;font-size: 24px;&quot;&gt;100 per hour&lt;/font&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="19.75" y="440" width="160.5" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-7" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;fillColor=#EBEBEB;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="190" y="310" as="sourcePoint" />
+            <mxPoint x="510" y="310" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-18" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;Wait for available operator&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="180.25" y="320" width="320" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-19" value="" style="group" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="530" y="220" width="100" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-8" value="" style="shape=actor;whiteSpace=wrap;html=1;fillColor=#0066CC;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+          <mxGeometry y="20" width="100" height="140" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-11" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=-90;fillColor=#C48850;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+          <mxGeometry x="15" y="17.5" width="70" height="55" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-13" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=90;fillColor=#000000;strokeColor=default;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+          <mxGeometry x="7" y="40" width="30" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-14" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=90;fillColor=#000000;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+          <mxGeometry x="62" y="40" width="30" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-16" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=default;" edge="1" parent="r9qKXJP48PfzUs8szVPf-19">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="19.5" y="47" as="sourcePoint" />
+            <mxPoint x="76.5" y="47" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="30" y="11" />
+              <mxPoint x="50" />
+              <mxPoint x="78" y="21" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-17" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="r9qKXJP48PfzUs8szVPf-19">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="55" as="sourcePoint" />
+            <mxPoint x="57" y="65" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-20" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;Call operators&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;13 operators&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;Each call lasts 10-15 minutes&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="455.13" y="440" width="249.75" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-21" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;fillColor=#66CC00;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="520" y="300" as="sourcePoint" />
+            <mxPoint x="520" y="170" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="r9qKXJP48PfzUs8szVPf-23" value="&lt;font style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;New:&amp;nbsp;&lt;/b&gt;Record wait time for each caller&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="450" y="90" width="140" height="60" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
diff --git a/img/callcentre_waittime.png b/img/callcentre_waittime.png
new file mode 100644
index 0000000000000000000000000000000000000000..c81b3c239b0ee715c72095866cb34a41d345f659
GIT binary patch
diff --git a/img/pharmacy.drawio b/img/pharmacy.drawio
new file mode 100644
index 0000000..4e2d2a9
--- /dev/null
+++ b/img/pharmacy.drawio
@@ -0,0 +1,61 @@
+<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" version="24.7.17">
+  <diagram name="Page-1" id="mVJWhGxYNhvkUJZ1qgoe">
+    <mxGraphModel dx="1585" dy="1903" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="IeCNPz9aZbHVkv2FsWYw-1" value="" style="shape=tape;whiteSpace=wrap;html=1;strokeWidth=2;size=0.19;rotation=90;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
+          <mxGeometry x="-104" y="-923" width="100" height="65" as="geometry" />
+        </mxCell>
+        <mxCell id="IeCNPz9aZbHVkv2FsWYw-3" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;fillColor=#d5e8d4;strokeColor=#82b366;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-77.74" y="-930" as="sourcePoint" />
+            <mxPoint x="-39" y="-929" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="IeCNPz9aZbHVkv2FsWYw-4" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;fillColor=#d5e8d4;strokeColor=#82b366;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-78" y="-916" as="sourcePoint" />
+            <mxPoint x="-40" y="-919" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="IeCNPz9aZbHVkv2FsWYw-5" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;fillColor=#d5e8d4;strokeColor=#82b366;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-77" y="-906" as="sourcePoint" />
+            <mxPoint x="-38" y="-908" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="IeCNPz9aZbHVkv2FsWYw-6" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;fillColor=#d5e8d4;strokeColor=#82b366;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-73.36999999999999" y="-895" as="sourcePoint" />
+            <mxPoint x="-37" y="-894" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="IeCNPz9aZbHVkv2FsWYw-7" value="&lt;b&gt;Prescription&lt;/b&gt;&lt;div&gt;every 5 minutes&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="-118" y="-830" width="134" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="IeCNPz9aZbHVkv2FsWYw-8" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;fillColor=#f5f5f5;strokeColor=#666666;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="31" y="-890.5799999999999" as="sourcePoint" />
+            <mxPoint x="149" y="-890.79" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="IeCNPz9aZbHVkv2FsWYw-9" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
+          <mxGeometry x="183" y="-921" width="152" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="IeCNPz9aZbHVkv2FsWYw-10" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+          <mxGeometry x="292" y="-895" width="29" height="54" as="geometry" />
+        </mxCell>
+        <mxCell id="IeCNPz9aZbHVkv2FsWYw-11" value="" style="shape=loopLimit;whiteSpace=wrap;html=1;fillColor=#ccb79c;strokeColor=#948571;" vertex="1" parent="1">
+          <mxGeometry x="176" y="-943" width="166" height="22" as="geometry" />
+        </mxCell>
+        <mxCell id="IeCNPz9aZbHVkv2FsWYw-12" value="" style="shape=cross;whiteSpace=wrap;html=1;size=0.28205128205128205;fillColor=#B9E0A5;strokeColor=#7cb05e;" vertex="1" parent="1">
+          <mxGeometry x="207" y="-909.5" width="48" height="49.5" as="geometry" />
+        </mxCell>
+        <mxCell id="IeCNPz9aZbHVkv2FsWYw-13" value="&lt;b&gt;Pharmacy&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="192" y="-830" width="134" height="30" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
diff --git a/img/pharmacy.png b/img/pharmacy.png
new file mode 100644
index 0000000000000000000000000000000000000000..e1b4802e56994945374a994ebc75f6466301186c
GIT binary patch

From d3f09c862b361dee954ed9b6f0cc31018c673a08 Mon Sep 17 00:00:00 2001
From: amyheather <a.heather2@exeter.ac.uk>
Date: Fri, 4 Oct 2024 16:02:49 +0100
Subject: [PATCH 6/7] chore(gif): :fire: remove .gif relevant to template
 repository

---
 img/actions.gif        | Bin 961832 -> 0 bytes
 img/use_template_1.gif | Bin 832172 -> 0 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 img/actions.gif
 delete mode 100644 img/use_template_1.gif

diff --git a/img/actions.gif b/img/actions.gif
deleted file mode 100644
index 3b97ea0fc5570abe426b23807520339d6035f15f..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/img/use_template_1.gif b/img/use_template_1.gif
deleted file mode 100644
index 2c298367bb816dbeab49336c5d38a6477051d257..0000000000000000000000000000000000000000
GIT binary patch

From 4c7415f091030542699d436e2c56bfd7d57e4300 Mon Sep 17 00:00:00 2001
From: amyheather <a.heather2@exeter.ac.uk>
Date: Fri, 4 Oct 2024 16:07:52 +0100
Subject: [PATCH 7/7] chore(images): :art: correct call time in diagram

---
 content/04_111_model.ipynb     | 964 +++++++++++++++++----------------
 content/05_basic_results.ipynb |   2 +-
 img/callcentre.drawio          |  38 +-
 img/callcentre.png             | Bin 43505 -> 46438 bytes
 img/callcentre_waittime.drawio |  40 +-
 img/callcentre_waittime.png    | Bin 55250 -> 56590 bytes
 6 files changed, 531 insertions(+), 513 deletions(-)

diff --git a/content/04_111_model.ipynb b/content/04_111_model.ipynb
index 5b67fe2..06c73db 100644
--- a/content/04_111_model.ipynb
+++ b/content/04_111_model.ipynb
@@ -216,478 +216,496 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "call arrives at: 0.118\n",
-      "operator answered call 1 at 0.118\n",
-      "call arrives at: 0.614\n",
-      "operator answered call 2 at 0.614\n",
-      "call arrives at: 1.317\n",
-      "operator answered call 3 at 1.317\n",
-      "call arrives at: 2.104\n",
-      "operator answered call 4 at 2.104\n",
-      "call arrives at: 2.737\n",
-      "operator answered call 5 at 2.737\n",
-      "call arrives at: 3.644\n",
-      "operator answered call 6 at 3.644\n",
-      "call arrives at: 3.868\n",
-      "operator answered call 7 at 3.868\n",
-      "call arrives at: 5.352\n",
-      "operator answered call 8 at 5.352\n",
-      "call arrives at: 5.840\n",
-      "operator answered call 9 at 5.840\n",
-      "call arrives at: 6.178\n",
-      "operator answered call 10 at 6.178\n",
-      "call arrives at: 6.197\n",
-      "operator answered call 11 at 6.197\n",
-      "call arrives at: 6.840\n",
-      "operator answered call 12 at 6.840\n",
-      "call 1 ended 7.194; waiting time was 0.000\n",
-      "call 3 ended 7.692; waiting time was 0.000\n",
-      "call 2 ended 7.901; waiting time was 0.000\n",
-      "call arrives at: 8.351\n",
-      "operator answered call 13 at 8.351\n",
-      "call arrives at: 8.580\n",
-      "operator answered call 14 at 8.580\n",
-      "call arrives at: 8.604\n",
-      "operator answered call 15 at 8.604\n",
-      "call 4 ended 9.268; waiting time was 0.000\n",
-      "call 5 ended 9.818; waiting time was 0.000\n",
-      "call arrives at: 10.418\n",
-      "operator answered call 16 at 10.418\n",
-      "call 6 ended 10.434; waiting time was 0.000\n",
-      "call arrives at: 10.582\n",
-      "operator answered call 17 at 10.582\n",
-      "call 7 ended 10.876; waiting time was 0.000\n",
-      "call arrives at: 11.248\n",
-      "operator answered call 18 at 11.248\n",
-      "call arrives at: 11.282\n",
-      "operator answered call 19 at 11.282\n",
-      "call arrives at: 11.320\n",
-      "operator answered call 20 at 11.320\n",
-      "call arrives at: 11.331\n",
-      "call arrives at: 11.567\n",
-      "call arrives at: 12.358\n",
-      "call 11 ended 12.845; waiting time was 0.000\n",
-      "operator answered call 21 at 12.845\n",
-      "call arrives at: 12.868\n",
-      "call 12 ended 13.058; waiting time was 0.000\n",
-      "operator answered call 22 at 13.058\n",
-      "call arrives at: 13.163\n",
-      "call 9 ended 13.271; waiting time was 0.000\n",
-      "operator answered call 23 at 13.271\n",
-      "call 8 ended 13.921; waiting time was 0.000\n",
-      "operator answered call 24 at 13.921\n",
-      "call 10 ended 14.062; waiting time was 0.000\n",
-      "operator answered call 25 at 14.062\n",
-      "call arrives at: 15.562\n",
-      "call 13 ended 15.691; waiting time was 0.000\n",
-      "operator answered call 26 at 15.691\n",
-      "call arrives at: 15.711\n",
-      "call arrives at: 16.083\n",
-      "call 16 ended 16.260; waiting time was 0.000\n",
-      "operator answered call 27 at 16.260\n",
-      "call 15 ended 16.434; waiting time was 0.000\n",
-      "operator answered call 28 at 16.434\n",
-      "call arrives at: 16.664\n",
-      "call 14 ended 17.447; waiting time was 0.000\n",
-      "operator answered call 29 at 17.447\n",
-      "call arrives at: 17.961\n",
-      "call 18 ended 18.195; waiting time was 0.000\n",
-      "operator answered call 30 at 18.195\n",
-      "call arrives at: 18.215\n",
-      "call 20 ended 18.393; waiting time was 0.000\n",
-      "operator answered call 31 at 18.393\n",
-      "call 19 ended 18.661; waiting time was 0.000\n",
-      "call 17 ended 18.801; waiting time was 0.000\n",
-      "call arrives at: 18.969\n",
-      "operator answered call 32 at 18.969\n",
-      "call 21 ended 19.464; waiting time was 1.513\n",
-      "call arrives at: 20.137\n",
-      "operator answered call 33 at 20.137\n",
-      "call 24 ended 20.307; waiting time was 1.053\n",
-      "call 22 ended 20.317; waiting time was 1.491\n",
-      "call 23 ended 20.649; waiting time was 0.914\n",
-      "call arrives at: 21.330\n",
-      "operator answered call 34 at 21.330\n",
-      "call 25 ended 21.358; waiting time was 0.899\n",
-      "call arrives at: 21.906\n",
-      "operator answered call 35 at 21.906\n",
-      "call 28 ended 22.506; waiting time was 0.351\n",
-      "call arrives at: 22.618\n",
-      "operator answered call 36 at 22.618\n",
-      "call 26 ended 22.716; waiting time was 0.129\n",
-      "call arrives at: 22.816\n",
-      "operator answered call 37 at 22.816\n",
-      "call arrives at: 22.897\n",
-      "operator answered call 38 at 22.897\n",
-      "call arrives at: 22.960\n",
-      "operator answered call 39 at 22.960\n",
-      "call arrives at: 23.089\n",
-      "operator answered call 40 at 23.089\n",
-      "call 27 ended 23.706; waiting time was 0.549\n",
-      "call arrives at: 24.263\n",
-      "operator answered call 41 at 24.263\n",
-      "call 29 ended 24.440; waiting time was 0.783\n",
-      "call 30 ended 24.681; waiting time was 0.234\n",
-      "call arrives at: 25.463\n",
-      "operator answered call 42 at 25.463\n",
-      "call 31 ended 25.802; waiting time was 0.178\n",
-      "call 32 ended 26.132; waiting time was 0.000\n",
-      "call 33 ended 26.241; waiting time was 0.000\n",
-      "call arrives at: 26.269\n",
-      "operator answered call 43 at 26.269\n",
-      "call arrives at: 26.401\n",
-      "operator answered call 44 at 26.401\n",
-      "call arrives at: 27.569\n",
-      "operator answered call 45 at 27.569\n",
-      "call 36 ended 29.032; waiting time was 0.000\n",
-      "call 34 ended 29.353; waiting time was 0.000\n",
-      "call 39 ended 29.503; waiting time was 0.000\n",
-      "call 35 ended 29.539; waiting time was 0.000\n",
-      "call 38 ended 30.129; waiting time was 0.000\n",
-      "call arrives at: 30.530\n",
-      "operator answered call 46 at 30.530\n",
-      "call 41 ended 30.997; waiting time was 0.000\n",
-      "call 40 ended 31.695; waiting time was 0.000\n",
-      "call 37 ended 31.889; waiting time was 0.000\n",
-      "call arrives at: 32.165\n",
-      "operator answered call 47 at 32.165\n",
-      "call 42 ended 32.259; waiting time was 0.000\n",
-      "call arrives at: 32.277\n",
-      "operator answered call 48 at 32.277\n",
-      "call 43 ended 33.373; waiting time was 0.000\n",
-      "call 45 ended 34.133; waiting time was 0.000\n",
-      "call 44 ended 34.334; waiting time was 0.000\n",
-      "call arrives at: 35.479\n",
-      "operator answered call 49 at 35.479\n",
-      "call arrives at: 36.176\n",
-      "operator answered call 50 at 36.176\n",
-      "call arrives at: 36.395\n",
-      "operator answered call 51 at 36.395\n",
-      "call arrives at: 37.047\n",
-      "operator answered call 52 at 37.047\n",
-      "call arrives at: 37.339\n",
-      "operator answered call 53 at 37.339\n",
-      "call arrives at: 37.962\n",
-      "operator answered call 54 at 37.962\n",
-      "call 47 ended 38.950; waiting time was 0.000\n",
-      "call 46 ended 39.282; waiting time was 0.000\n",
-      "call 48 ended 39.729; waiting time was 0.000\n",
-      "call arrives at: 40.452\n",
-      "operator answered call 55 at 40.452\n",
-      "call arrives at: 40.810\n",
-      "operator answered call 56 at 40.810\n",
-      "call 49 ended 40.890; waiting time was 0.000\n",
-      "call arrives at: 40.915\n",
-      "operator answered call 57 at 40.915\n",
-      "call arrives at: 41.093\n",
-      "operator answered call 58 at 41.093\n",
-      "call arrives at: 41.615\n",
-      "operator answered call 59 at 41.615\n",
-      "call arrives at: 41.747\n",
-      "operator answered call 60 at 41.747\n",
-      "call arrives at: 41.825\n",
-      "operator answered call 61 at 41.825\n",
-      "call arrives at: 42.352\n",
-      "operator answered call 62 at 42.352\n",
-      "call arrives at: 42.480\n",
-      "call 50 ended 42.965; waiting time was 0.000\n",
-      "operator answered call 63 at 42.965\n",
-      "call arrives at: 43.284\n",
-      "call 54 ended 43.490; waiting time was 0.000\n",
-      "operator answered call 64 at 43.490\n",
-      "call 52 ended 43.665; waiting time was 0.000\n",
-      "call 51 ended 44.021; waiting time was 0.000\n",
-      "call arrives at: 44.609\n",
-      "operator answered call 65 at 44.609\n",
-      "call arrives at: 44.996\n",
-      "operator answered call 66 at 44.996\n",
-      "call 53 ended 45.329; waiting time was 0.000\n",
-      "call arrives at: 45.449\n",
-      "operator answered call 67 at 45.449\n",
-      "call arrives at: 46.487\n",
-      "call arrives at: 46.612\n",
-      "call 58 ended 46.863; waiting time was 0.000\n",
-      "operator answered call 68 at 46.863\n",
-      "call 55 ended 47.556; waiting time was 0.000\n",
-      "operator answered call 69 at 47.556\n",
-      "call arrives at: 47.982\n",
-      "call arrives at: 48.030\n",
-      "call 57 ended 48.270; waiting time was 0.000\n",
-      "operator answered call 70 at 48.270\n",
-      "call arrives at: 48.290\n",
-      "call arrives at: 48.320\n",
-      "call arrives at: 48.422\n",
-      "call 59 ended 48.477; waiting time was 0.000\n",
-      "operator answered call 71 at 48.477\n",
-      "call 62 ended 48.500; waiting time was 0.000\n",
-      "operator answered call 72 at 48.500\n",
-      "call arrives at: 48.550\n",
-      "call arrives at: 48.624\n",
-      "call 60 ended 48.693; waiting time was 0.000\n",
-      "operator answered call 73 at 48.693\n",
-      "call arrives at: 48.705\n",
-      "call arrives at: 48.870\n",
-      "call 61 ended 48.982; waiting time was 0.000\n",
-      "operator answered call 74 at 48.982\n",
-      "call arrives at: 49.177\n",
-      "call arrives at: 49.453\n",
-      "call 56 ended 49.917; waiting time was 0.000\n",
-      "operator answered call 75 at 49.917\n",
-      "call 63 ended 50.078; waiting time was 0.486\n",
-      "operator answered call 76 at 50.078\n",
-      "call 66 ended 50.515; waiting time was 0.000\n",
-      "operator answered call 77 at 50.515\n",
-      "call 65 ended 51.540; waiting time was 0.000\n",
-      "operator answered call 78 at 51.540\n",
-      "call arrives at: 51.634\n",
-      "call arrives at: 52.081\n",
-      "call 64 ended 52.575; waiting time was 0.206\n",
-      "operator answered call 79 at 52.575\n",
-      "call 68 ended 53.287; waiting time was 0.375\n",
-      "operator answered call 80 at 53.287\n",
-      "call arrives at: 53.531\n",
-      "call arrives at: 53.586\n",
-      "call 67 ended 53.849; waiting time was 0.000\n",
-      "operator answered call 81 at 53.849\n",
-      "call arrives at: 53.957\n",
-      "call 70 ended 54.688; waiting time was 0.288\n",
-      "operator answered call 82 at 54.688\n",
-      "call 71 ended 54.706; waiting time was 0.447\n",
-      "operator answered call 83 at 54.706\n",
-      "call 69 ended 54.846; waiting time was 0.943\n",
-      "operator answered call 84 at 54.846\n",
-      "call arrives at: 54.942\n",
-      "call arrives at: 55.055\n",
-      "call arrives at: 55.802\n",
-      "call arrives at: 55.844\n",
-      "call arrives at: 56.297\n",
-      "call 72 ended 56.307; waiting time was 0.210\n",
-      "operator answered call 85 at 56.307\n",
-      "call 73 ended 56.918; waiting time was 0.372\n",
-      "operator answered call 86 at 56.918\n",
-      "call 77 ended 57.284; waiting time was 1.810\n",
-      "operator answered call 87 at 57.284\n",
-      "call 74 ended 57.531; waiting time was 0.559\n",
-      "operator answered call 88 at 57.531\n",
-      "call arrives at: 57.689\n",
-      "call 76 ended 57.801; waiting time was 1.453\n",
-      "operator answered call 89 at 57.801\n",
-      "call arrives at: 57.808\n",
-      "call 75 ended 57.885; waiting time was 1.367\n",
-      "operator answered call 90 at 57.885\n",
-      "call 78 ended 57.891; waiting time was 2.670\n",
-      "operator answered call 91 at 57.891\n",
-      "call arrives at: 57.965\n",
-      "call arrives at: 58.523\n",
-      "call arrives at: 58.733\n",
-      "call 79 ended 59.200; waiting time was 3.398\n",
-      "operator answered call 92 at 59.200\n",
-      "call arrives at: 59.680\n",
-      "call arrives at: 59.778\n",
-      "call arrives at: 59.938\n",
-      "call arrives at: 60.426\n",
-      "call 81 ended 61.594; waiting time was 2.215\n",
-      "operator answered call 93 at 61.594\n",
-      "call arrives at: 61.627\n",
-      "call 80 ended 61.667; waiting time was 3.834\n",
-      "operator answered call 94 at 61.667\n",
-      "call arrives at: 61.788\n",
-      "call 83 ended 62.619; waiting time was 1.174\n",
-      "operator answered call 95 at 62.619\n",
-      "call arrives at: 62.693\n",
-      "call 87 ended 63.221; waiting time was 2.230\n",
-      "operator answered call 96 at 63.221\n",
-      "call 85 ended 63.249; waiting time was 2.350\n",
-      "operator answered call 97 at 63.249\n",
-      "call 86 ended 63.327; waiting time was 1.976\n",
-      "operator answered call 98 at 63.327\n",
-      "call arrives at: 63.404\n",
-      "call 84 ended 63.511; waiting time was 1.260\n",
-      "operator answered call 99 at 63.511\n",
-      "call 89 ended 64.001; waiting time was 1.957\n",
-      "operator answered call 100 at 64.001\n",
-      "call arrives at: 64.174\n",
-      "call 82 ended 64.428; waiting time was 2.607\n",
-      "operator answered call 101 at 64.428\n",
-      "call arrives at: 64.525\n",
-      "call arrives at: 64.786\n",
-      "call arrives at: 64.854\n",
-      "call arrives at: 64.967\n",
-      "call 92 ended 65.065; waiting time was 1.392\n",
-      "operator answered call 102 at 65.065\n",
-      "call arrives at: 65.287\n",
-      "call 88 ended 65.928; waiting time was 1.729\n",
-      "operator answered call 103 at 65.928\n",
-      "call 90 ended 66.129; waiting time was 1.588\n",
-      "operator answered call 104 at 66.129\n",
-      "call 91 ended 66.409; waiting time was 0.202\n",
-      "operator answered call 105 at 66.409\n",
-      "call arrives at: 66.783\n",
-      "call arrives at: 67.020\n",
-      "call arrives at: 67.438\n",
-      "call arrives at: 67.604\n",
-      "call arrives at: 67.904\n",
-      "call 93 ended 68.172; waiting time was 3.628\n",
-      "operator answered call 106 at 68.172\n",
-      "call arrives at: 68.194\n",
-      "call arrives at: 68.693\n",
-      "call arrives at: 69.149\n",
-      "call 97 ended 69.441; waiting time was 3.471\n",
-      "operator answered call 107 at 69.441\n",
-      "call arrives at: 69.459\n",
-      "call arrives at: 69.657\n",
-      "call arrives at: 69.742\n",
-      "call 95 ended 69.808; waiting time was 3.886\n",
-      "operator answered call 108 at 69.808\n",
-      "call arrives at: 69.827\n",
-      "call arrives at: 69.939\n",
-      "call arrives at: 70.054\n",
-      "call arrives at: 70.118\n",
-      "call 96 ended 70.195; waiting time was 3.542\n",
-      "operator answered call 109 at 70.195\n",
-      "call 100 ended 70.935; waiting time was 2.374\n",
-      "operator answered call 110 at 70.935\n",
-      "call 94 ended 70.980; waiting time was 3.143\n",
-      "operator answered call 111 at 70.980\n",
-      "call arrives at: 71.390\n",
-      "call 99 ended 71.750; waiting time was 3.084\n",
-      "operator answered call 112 at 71.750\n",
-      "call 104 ended 72.300; waiting time was 1.955\n",
-      "operator answered call 113 at 72.300\n",
-      "call 98 ended 72.387; waiting time was 3.389\n",
-      "operator answered call 114 at 72.387\n",
-      "call 102 ended 72.543; waiting time was 2.372\n",
-      "operator answered call 115 at 72.543\n",
-      "call 105 ended 72.643; waiting time was 1.884\n",
-      "operator answered call 116 at 72.643\n",
-      "call arrives at: 72.898\n",
-      "call 103 ended 73.297; waiting time was 2.524\n",
-      "operator answered call 117 at 73.297\n",
-      "call 101 ended 73.435; waiting time was 2.641\n",
-      "operator answered call 118 at 73.435\n",
-      "call arrives at: 75.254\n",
-      "call 106 ended 75.651; waiting time was 3.386\n",
-      "operator answered call 119 at 75.651\n",
-      "call arrives at: 76.085\n",
-      "call 109 ended 76.340; waiting time was 4.907\n",
-      "operator answered call 120 at 76.340\n",
-      "call 111 ended 76.781; waiting time was 3.960\n",
-      "operator answered call 121 at 76.781\n",
-      "call 107 ended 76.817; waiting time was 4.587\n",
-      "operator answered call 122 at 76.817\n",
-      "call arrives at: 76.870\n",
-      "call 110 ended 78.181; waiting time was 4.152\n",
-      "operator answered call 123 at 78.181\n",
-      "call arrives at: 78.287\n",
-      "call 108 ended 78.846; waiting time was 4.842\n",
-      "operator answered call 124 at 78.846\n",
-      "call 114 ended 78.976; waiting time was 4.483\n",
-      "operator answered call 125 at 78.976\n",
-      "call arrives at: 78.985\n",
-      "call 115 ended 79.005; waiting time was 4.349\n",
-      "operator answered call 126 at 79.005\n",
-      "call arrives at: 79.054\n",
-      "call 118 ended 79.213; waiting time was 3.976\n",
-      "operator answered call 127 at 79.213\n",
-      "call 116 ended 79.339; waiting time was 3.951\n",
-      "operator answered call 128 at 79.339\n",
-      "call 113 ended 80.374; waiting time was 4.697\n",
-      "operator answered call 129 at 80.374\n",
-      "call arrives at: 80.426\n",
-      "call arrives at: 80.680\n",
-      "call arrives at: 80.908\n",
-      "call arrives at: 80.928\n",
-      "call 117 ended 81.180; waiting time was 4.148\n",
-      "operator answered call 130 at 81.180\n",
-      "call 112 ended 81.291; waiting time was 4.312\n",
-      "operator answered call 131 at 81.291\n",
-      "call arrives at: 81.814\n",
-      "call arrives at: 82.172\n",
-      "call arrives at: 82.730\n",
-      "call 121 ended 83.267; waiting time was 6.954\n",
-      "operator answered call 132 at 83.267\n",
-      "call arrives at: 83.565\n",
-      "call arrives at: 83.623\n",
-      "call arrives at: 83.656\n",
-      "call arrives at: 84.274\n",
-      "call 122 ended 84.901; waiting time was 6.879\n",
-      "operator answered call 133 at 84.901\n",
-      "call 125 ended 84.958; waiting time was 7.586\n",
-      "operator answered call 134 at 84.958\n",
-      "call 123 ended 85.066; waiting time was 8.127\n",
-      "operator answered call 135 at 85.066\n",
-      "call arrives at: 85.214\n",
-      "call arrives at: 85.552\n",
-      "call 119 ended 85.599; waiting time was 5.994\n",
-      "operator answered call 136 at 85.599\n",
-      "call 128 ended 85.782; waiting time was 3.254\n",
-      "operator answered call 137 at 85.782\n",
-      "call 120 ended 85.814; waiting time was 6.598\n",
-      "operator answered call 138 at 85.814\n",
-      "call 127 ended 86.793; waiting time was 3.959\n",
-      "operator answered call 139 at 86.793\n",
-      "call arrives at: 87.072\n",
-      "call 126 ended 87.338; waiting time was 6.107\n",
-      "operator answered call 140 at 87.338\n",
-      "call 129 ended 87.448; waiting time was 3.504\n",
-      "operator answered call 141 at 87.448\n",
-      "call 130 ended 87.610; waiting time was 2.893\n",
-      "operator answered call 142 at 87.610\n",
-      "call arrives at: 87.727\n",
-      "call arrives at: 88.137\n",
-      "call arrives at: 88.238\n",
-      "call arrives at: 88.404\n",
-      "call 124 ended 88.514; waiting time was 8.728\n",
-      "operator answered call 143 at 88.514\n",
-      "call 131 ended 88.925; waiting time was 2.305\n",
-      "operator answered call 144 at 88.925\n",
-      "call arrives at: 88.940\n",
-      "call arrives at: 89.600\n",
-      "call arrives at: 90.119\n",
-      "call arrives at: 90.432\n",
-      "call 132 ended 90.438; waiting time was 4.213\n",
-      "operator answered call 145 at 90.438\n",
-      "call 137 ended 91.437; waiting time was 3.968\n",
-      "operator answered call 146 at 91.437\n",
-      "call arrives at: 91.846\n",
-      "call 138 ended 91.851; waiting time was 3.641\n",
-      "operator answered call 147 at 91.851\n",
-      "call arrives at: 92.344\n",
-      "call arrives at: 92.533\n",
-      "call 134 ended 92.656; waiting time was 4.278\n",
-      "operator answered call 148 at 92.656\n",
-      "call 135 ended 92.967; waiting time was 4.158\n",
-      "operator answered call 149 at 92.967\n",
-      "call 136 ended 93.244; waiting time was 4.671\n",
-      "operator answered call 150 at 93.244\n",
-      "call 133 ended 94.006; waiting time was 4.475\n",
-      "operator answered call 151 at 94.006\n",
-      "call arrives at: 94.153\n",
-      "call 142 ended 94.189; waiting time was 3.954\n",
-      "operator answered call 152 at 94.189\n",
-      "call 141 ended 94.238; waiting time was 3.825\n",
-      "operator answered call 153 at 94.238\n",
-      "call arrives at: 94.780\n",
-      "call 140 ended 95.066; waiting time was 3.773\n",
-      "operator answered call 154 at 95.066\n",
-      "call 143 ended 95.542; waiting time was 4.240\n",
-      "operator answered call 155 at 95.542\n",
-      "call 139 ended 95.571; waiting time was 4.063\n",
-      "operator answered call 156 at 95.571\n",
-      "call 144 ended 96.254; waiting time was 3.711\n",
-      "operator answered call 157 at 96.254\n",
-      "call arrives at: 96.653\n",
-      "call arrives at: 98.142\n",
-      "call arrives at: 98.381\n",
-      "call 147 ended 98.497; waiting time was 4.124\n",
-      "operator answered call 158 at 98.497\n",
-      "call 146 ended 99.290; waiting time was 4.365\n",
-      "operator answered call 159 at 99.290\n",
-      "call 148 ended 99.445; waiting time was 4.519\n",
-      "operator answered call 160 at 99.445\n",
-      "call arrives at: 99.704\n",
-      "call 145 ended 99.778; waiting time was 4.886\n",
-      "operator answered call 161 at 99.778\n",
+      "call arrives at: 0.161\n",
+      "operator answered call 1 at 0.161\n",
+      "call arrives at: 0.287\n",
+      "operator answered call 2 at 0.287\n",
+      "call arrives at: 0.833\n",
+      "operator answered call 3 at 0.833\n",
+      "call arrives at: 2.477\n",
+      "operator answered call 4 at 2.477\n",
+      "call arrives at: 2.594\n",
+      "operator answered call 5 at 2.594\n",
+      "call arrives at: 3.822\n",
+      "operator answered call 6 at 3.822\n",
+      "call arrives at: 4.542\n",
+      "operator answered call 7 at 4.542\n",
+      "call arrives at: 5.705\n",
+      "operator answered call 8 at 5.705\n",
+      "call arrives at: 6.766\n",
+      "operator answered call 9 at 6.766\n",
+      "call arrives at: 7.104\n",
+      "operator answered call 10 at 7.104\n",
+      "call arrives at: 7.191\n",
+      "operator answered call 11 at 7.191\n",
+      "call arrives at: 7.409\n",
+      "operator answered call 12 at 7.409\n",
+      "call 3 ended 7.600; waiting time was 0.000\n",
+      "call 4 ended 7.937; waiting time was 0.000\n",
+      "call arrives at: 7.942\n",
+      "operator answered call 13 at 7.942\n",
+      "call 1 ended 8.287; waiting time was 0.000\n",
+      "call arrives at: 8.714\n",
+      "operator answered call 14 at 8.714\n",
+      "call arrives at: 9.063\n",
+      "operator answered call 15 at 9.063\n",
+      "call arrives at: 9.412\n",
+      "operator answered call 16 at 9.412\n",
+      "call 2 ended 9.476; waiting time was 0.000\n",
+      "call arrives at: 10.519\n",
+      "operator answered call 17 at 10.519\n",
+      "call 6 ended 10.944; waiting time was 0.000\n",
+      "call arrives at: 11.053\n",
+      "operator answered call 18 at 11.053\n",
+      "call 7 ended 11.159; waiting time was 0.000\n",
+      "call arrives at: 11.452\n",
+      "operator answered call 19 at 11.452\n",
+      "call 5 ended 11.629; waiting time was 0.000\n",
+      "call arrives at: 12.366\n",
+      "operator answered call 20 at 12.366\n",
+      "call 8 ended 12.964; waiting time was 0.000\n",
+      "call 9 ended 13.164; waiting time was 0.000\n",
+      "call arrives at: 13.213\n",
+      "operator answered call 21 at 13.213\n",
+      "call arrives at: 13.694\n",
+      "operator answered call 22 at 13.694\n",
+      "call 11 ended 13.991; waiting time was 0.000\n",
+      "call 13 ended 14.180; waiting time was 0.000\n",
+      "call arrives at: 14.391\n",
+      "operator answered call 23 at 14.391\n",
+      "call arrives at: 14.880\n",
+      "operator answered call 24 at 14.880\n",
+      "call arrives at: 15.053\n",
+      "call arrives at: 15.378\n",
+      "call arrives at: 15.407\n",
+      "call 12 ended 15.575; waiting time was 0.000\n",
+      "operator answered call 25 at 15.575\n",
+      "call 15 ended 15.685; waiting time was 0.000\n",
+      "operator answered call 26 at 15.685\n",
+      "call 10 ended 15.738; waiting time was 0.000\n",
+      "operator answered call 27 at 15.738\n",
+      "call arrives at: 16.116\n",
+      "call 17 ended 16.415; waiting time was 0.000\n",
+      "operator answered call 28 at 16.415\n",
+      "call arrives at: 16.815\n",
+      "call arrives at: 17.281\n",
+      "call arrives at: 17.412\n",
+      "call arrives at: 17.702\n",
+      "call 16 ended 17.924; waiting time was 0.000\n",
+      "operator answered call 29 at 17.924\n",
+      "call 14 ended 18.103; waiting time was 0.000\n",
+      "operator answered call 30 at 18.103\n",
+      "call arrives at: 18.506\n",
+      "call arrives at: 18.588\n",
+      "call 20 ended 18.778; waiting time was 0.000\n",
+      "operator answered call 31 at 18.778\n",
+      "call 19 ended 19.114; waiting time was 0.000\n",
+      "operator answered call 32 at 19.114\n",
+      "call 21 ended 19.232; waiting time was 0.000\n",
+      "operator answered call 33 at 19.232\n",
+      "call arrives at: 19.550\n",
+      "call 22 ended 19.859; waiting time was 0.000\n",
+      "operator answered call 34 at 19.859\n",
+      "call arrives at: 20.532\n",
+      "call 18 ended 20.648; waiting time was 0.000\n",
+      "operator answered call 35 at 20.648\n",
+      "call arrives at: 21.069\n",
+      "call arrives at: 21.088\n",
+      "call 23 ended 21.304; waiting time was 0.000\n",
+      "operator answered call 36 at 21.304\n",
+      "call arrives at: 21.515\n",
+      "call arrives at: 21.563\n",
+      "call 27 ended 21.908; waiting time was 0.331\n",
+      "operator answered call 37 at 21.908\n",
+      "call 25 ended 22.174; waiting time was 0.522\n",
+      "operator answered call 38 at 22.174\n",
+      "call 24 ended 22.430; waiting time was 0.000\n",
+      "operator answered call 39 at 22.430\n",
+      "call 26 ended 22.505; waiting time was 0.307\n",
+      "operator answered call 40 at 22.505\n",
+      "call arrives at: 23.352\n",
+      "call 28 ended 23.568; waiting time was 0.300\n",
+      "operator answered call 41 at 23.568\n",
+      "call 29 ended 24.712; waiting time was 1.109\n",
+      "call 30 ended 24.861; waiting time was 0.822\n",
+      "call arrives at: 25.072\n",
+      "operator answered call 42 at 25.072\n",
+      "call 31 ended 25.625; waiting time was 1.366\n",
+      "call arrives at: 25.776\n",
+      "operator answered call 43 at 25.776\n",
+      "call arrives at: 26.085\n",
+      "operator answered call 44 at 26.085\n",
+      "call 32 ended 26.201; waiting time was 1.412\n",
+      "call arrives at: 26.602\n",
+      "operator answered call 45 at 26.602\n",
+      "call 33 ended 26.763; waiting time was 0.726\n",
+      "call arrives at: 26.804\n",
+      "operator answered call 46 at 26.804\n",
+      "call 35 ended 27.145; waiting time was 1.098\n",
+      "call arrives at: 27.746\n",
+      "operator answered call 47 at 27.746\n",
+      "call 36 ended 27.966; waiting time was 0.773\n",
+      "call 34 ended 28.271; waiting time was 1.271\n",
+      "call arrives at: 28.505\n",
+      "operator answered call 48 at 28.505\n",
+      "call 38 ended 28.612; waiting time was 1.086\n",
+      "call 39 ended 28.785; waiting time was 0.916\n",
+      "call arrives at: 29.000\n",
+      "operator answered call 49 at 29.000\n",
+      "call arrives at: 29.271\n",
+      "operator answered call 50 at 29.271\n",
+      "call arrives at: 29.851\n",
+      "operator answered call 51 at 29.851\n",
+      "call 41 ended 29.909; waiting time was 0.216\n",
+      "call arrives at: 30.035\n",
+      "operator answered call 52 at 30.035\n",
+      "call 37 ended 30.203; waiting time was 0.839\n",
+      "call arrives at: 30.377\n",
+      "operator answered call 53 at 30.377\n",
+      "call 40 ended 30.486; waiting time was 0.942\n",
+      "call 42 ended 31.225; waiting time was 0.000\n",
+      "call arrives at: 31.497\n",
+      "operator answered call 54 at 31.497\n",
+      "call arrives at: 31.736\n",
+      "operator answered call 55 at 31.736\n",
+      "call arrives at: 31.894\n",
+      "call arrives at: 32.993\n",
+      "call arrives at: 33.020\n",
+      "call 46 ended 33.050; waiting time was 0.000\n",
+      "operator answered call 56 at 33.050\n",
+      "call 44 ended 33.168; waiting time was 0.000\n",
+      "operator answered call 57 at 33.168\n",
+      "call 45 ended 33.240; waiting time was 0.000\n",
+      "operator answered call 58 at 33.240\n",
+      "call arrives at: 33.370\n",
+      "call 43 ended 33.676; waiting time was 0.000\n",
+      "operator answered call 59 at 33.676\n",
+      "call arrives at: 35.110\n",
+      "call arrives at: 35.151\n",
+      "call arrives at: 35.722\n",
+      "call 51 ended 35.783; waiting time was 0.000\n",
+      "operator answered call 60 at 35.783\n",
+      "call 48 ended 35.815; waiting time was 0.000\n",
+      "operator answered call 61 at 35.815\n",
+      "call arrives at: 35.849\n",
+      "call arrives at: 36.338\n",
+      "call arrives at: 36.570\n",
+      "call 52 ended 36.672; waiting time was 0.000\n",
+      "operator answered call 62 at 36.672\n",
+      "call 50 ended 36.686; waiting time was 0.000\n",
+      "operator answered call 63 at 36.686\n",
+      "call arrives at: 36.861\n",
+      "call 49 ended 36.864; waiting time was 0.000\n",
+      "operator answered call 64 at 36.864\n",
+      "call 47 ended 37.151; waiting time was 0.000\n",
+      "operator answered call 65 at 37.151\n",
+      "call arrives at: 37.397\n",
+      "call arrives at: 37.452\n",
+      "call arrives at: 38.032\n",
+      "call 53 ended 38.798; waiting time was 0.000\n",
+      "operator answered call 66 at 38.798\n",
+      "call 57 ended 39.327; waiting time was 0.175\n",
+      "operator answered call 67 at 39.327\n",
+      "call 54 ended 39.378; waiting time was 0.000\n",
+      "operator answered call 68 at 39.378\n",
+      "call 55 ended 39.762; waiting time was 0.000\n",
+      "operator answered call 69 at 39.762\n",
+      "call 56 ended 39.977; waiting time was 1.156\n",
+      "call 58 ended 40.545; waiting time was 0.220\n",
+      "call 61 ended 41.776; waiting time was 0.664\n",
+      "call 59 ended 41.880; waiting time was 0.306\n",
+      "call 63 ended 42.802; waiting time was 0.837\n",
+      "call arrives at: 43.059\n",
+      "operator answered call 70 at 43.059\n",
+      "call 64 ended 43.225; waiting time was 0.526\n",
+      "call 65 ended 43.256; waiting time was 0.581\n",
+      "call 60 ended 43.544; waiting time was 0.673\n",
+      "call 62 ended 44.787; waiting time was 0.951\n",
+      "call arrives at: 45.269\n",
+      "operator answered call 71 at 45.269\n",
+      "call arrives at: 45.375\n",
+      "operator answered call 72 at 45.375\n",
+      "call arrives at: 45.639\n",
+      "operator answered call 73 at 45.639\n",
+      "call arrives at: 45.879\n",
+      "operator answered call 74 at 45.879\n",
+      "call 69 ended 46.022; waiting time was 1.730\n",
+      "call arrives at: 46.298\n",
+      "operator answered call 75 at 46.298\n",
+      "call 67 ended 46.543; waiting time was 1.930\n",
+      "call arrives at: 46.941\n",
+      "operator answered call 76 at 46.941\n",
+      "call 66 ended 47.220; waiting time was 1.937\n",
+      "call 68 ended 47.321; waiting time was 1.925\n",
+      "call arrives at: 48.745\n",
+      "operator answered call 77 at 48.745\n",
+      "call arrives at: 48.858\n",
+      "operator answered call 78 at 48.858\n",
+      "call arrives at: 49.048\n",
+      "operator answered call 79 at 49.048\n",
+      "call arrives at: 49.575\n",
+      "operator answered call 80 at 49.575\n",
+      "call arrives at: 49.704\n",
+      "operator answered call 81 at 49.704\n",
+      "call 70 ended 50.170; waiting time was 0.000\n",
+      "call arrives at: 51.354\n",
+      "operator answered call 82 at 51.354\n",
+      "call arrives at: 51.714\n",
+      "operator answered call 83 at 51.714\n",
+      "call arrives at: 52.099\n",
+      "call arrives at: 52.384\n",
+      "call 73 ended 52.494; waiting time was 0.000\n",
+      "operator answered call 84 at 52.494\n",
+      "call arrives at: 52.555\n",
+      "call 71 ended 53.003; waiting time was 0.000\n",
+      "operator answered call 85 at 53.003\n",
+      "call 72 ended 53.055; waiting time was 0.000\n",
+      "operator answered call 86 at 53.055\n",
+      "call 75 ended 53.090; waiting time was 0.000\n",
+      "call arrives at: 53.407\n",
+      "operator answered call 87 at 53.407\n",
+      "call arrives at: 53.616\n",
+      "call 74 ended 53.774; waiting time was 0.000\n",
+      "operator answered call 88 at 53.774\n",
+      "call arrives at: 53.813\n",
+      "call 76 ended 53.864; waiting time was 0.000\n",
+      "operator answered call 89 at 53.864\n",
+      "call arrives at: 54.082\n",
+      "call arrives at: 54.273\n",
+      "call 78 ended 54.580; waiting time was 0.000\n",
+      "operator answered call 90 at 54.580\n",
+      "call 79 ended 54.764; waiting time was 0.000\n",
+      "operator answered call 91 at 54.764\n",
+      "call arrives at: 54.823\n",
+      "call 77 ended 55.132; waiting time was 0.000\n",
+      "operator answered call 92 at 55.132\n",
+      "call arrives at: 55.251\n",
+      "call 80 ended 55.595; waiting time was 0.000\n",
+      "operator answered call 93 at 55.595\n",
+      "call 81 ended 57.123; waiting time was 0.000\n",
+      "call arrives at: 57.127\n",
+      "operator answered call 94 at 57.127\n",
+      "call 83 ended 58.207; waiting time was 0.000\n",
+      "call 82 ended 58.473; waiting time was 0.000\n",
+      "call arrives at: 58.556\n",
+      "operator answered call 95 at 58.556\n",
+      "call 86 ended 59.024; waiting time was 0.499\n",
+      "call arrives at: 59.128\n",
+      "operator answered call 96 at 59.128\n",
+      "call 85 ended 59.482; waiting time was 0.620\n",
+      "call arrives at: 59.625\n",
+      "operator answered call 97 at 59.625\n",
+      "call 84 ended 59.696; waiting time was 0.394\n",
+      "call 89 ended 60.185; waiting time was 0.051\n",
+      "call arrives at: 60.423\n",
+      "operator answered call 98 at 60.423\n",
+      "call arrives at: 60.620\n",
+      "operator answered call 99 at 60.620\n",
+      "call arrives at: 60.847\n",
+      "operator answered call 100 at 60.847\n",
+      "call 88 ended 61.089; waiting time was 0.158\n",
+      "call 93 ended 61.603; waiting time was 0.344\n",
+      "call arrives at: 61.845\n",
+      "operator answered call 101 at 61.845\n",
+      "call 87 ended 62.168; waiting time was 0.000\n",
+      "call arrives at: 62.747\n",
+      "operator answered call 102 at 62.747\n",
+      "call 91 ended 62.858; waiting time was 0.491\n",
+      "call arrives at: 62.920\n",
+      "operator answered call 103 at 62.920\n",
+      "call 94 ended 63.226; waiting time was 0.000\n",
+      "call 90 ended 63.580; waiting time was 0.497\n",
+      "call 92 ended 63.593; waiting time was 0.309\n",
+      "call arrives at: 64.007\n",
+      "operator answered call 104 at 64.007\n",
+      "call arrives at: 65.355\n",
+      "operator answered call 105 at 65.355\n",
+      "call arrives at: 65.900\n",
+      "operator answered call 106 at 65.900\n",
+      "call 96 ended 66.377; waiting time was 0.000\n",
+      "call 95 ended 66.500; waiting time was 0.000\n",
+      "call arrives at: 66.636\n",
+      "operator answered call 107 at 66.636\n",
+      "call 97 ended 66.838; waiting time was 0.000\n",
+      "call arrives at: 66.848\n",
+      "operator answered call 108 at 66.848\n",
+      "call 101 ended 67.354; waiting time was 0.000\n",
+      "call 99 ended 67.490; waiting time was 0.000\n",
+      "call arrives at: 67.734\n",
+      "operator answered call 109 at 67.734\n",
+      "call arrives at: 67.827\n",
+      "operator answered call 110 at 67.827\n",
+      "call 100 ended 67.866; waiting time was 0.000\n",
+      "call 98 ended 68.106; waiting time was 0.000\n",
+      "call arrives at: 69.074\n",
+      "operator answered call 111 at 69.074\n",
+      "call arrives at: 69.164\n",
+      "operator answered call 112 at 69.164\n",
+      "call arrives at: 69.475\n",
+      "operator answered call 113 at 69.475\n",
+      "call arrives at: 70.342\n",
+      "operator answered call 114 at 70.342\n",
+      "call arrives at: 70.556\n",
+      "call arrives at: 70.590\n",
+      "call 102 ended 70.632; waiting time was 0.000\n",
+      "operator answered call 115 at 70.632\n",
+      "call 103 ended 70.798; waiting time was 0.000\n",
+      "operator answered call 116 at 70.798\n",
+      "call arrives at: 70.817\n",
+      "call arrives at: 71.070\n",
+      "call 104 ended 71.420; waiting time was 0.000\n",
+      "operator answered call 117 at 71.420\n",
+      "call arrives at: 71.984\n",
+      "call arrives at: 72.655\n",
+      "call arrives at: 73.376\n",
+      "call arrives at: 73.416\n",
+      "call 105 ended 73.470; waiting time was 0.000\n",
+      "operator answered call 118 at 73.470\n",
+      "call arrives at: 73.801\n",
+      "call 108 ended 74.084; waiting time was 0.000\n",
+      "operator answered call 119 at 74.084\n",
+      "call 106 ended 74.745; waiting time was 0.000\n",
+      "operator answered call 120 at 74.745\n",
+      "call 110 ended 74.841; waiting time was 0.000\n",
+      "operator answered call 121 at 74.841\n",
+      "call 111 ended 75.468; waiting time was 0.000\n",
+      "operator answered call 122 at 75.468\n",
+      "call arrives at: 75.636\n",
+      "call arrives at: 75.940\n",
+      "call arrives at: 76.034\n",
+      "call 113 ended 76.168; waiting time was 0.000\n",
+      "operator answered call 123 at 76.168\n",
+      "call arrives at: 76.549\n",
+      "call 107 ended 76.572; waiting time was 0.000\n",
+      "operator answered call 124 at 76.572\n",
+      "call 115 ended 76.731; waiting time was 0.076\n",
+      "operator answered call 125 at 76.731\n",
+      "call 114 ended 76.767; waiting time was 0.000\n",
+      "operator answered call 126 at 76.767\n",
+      "call 109 ended 76.828; waiting time was 0.000\n",
+      "operator answered call 127 at 76.828\n",
+      "call 116 ended 77.463; waiting time was 0.209\n",
+      "call 112 ended 77.463; waiting time was 0.000\n",
+      "call arrives at: 79.358\n",
+      "operator answered call 128 at 79.358\n",
+      "call 117 ended 79.402; waiting time was 0.603\n",
+      "call arrives at: 79.411\n",
+      "operator answered call 129 at 79.411\n",
+      "call arrives at: 79.454\n",
+      "operator answered call 130 at 79.454\n",
+      "call arrives at: 79.811\n",
+      "call 119 ended 80.589; waiting time was 2.100\n",
+      "operator answered call 131 at 80.589\n",
+      "call arrives at: 81.321\n",
+      "call 118 ended 81.559; waiting time was 2.400\n",
+      "operator answered call 132 at 81.559\n",
+      "call arrives at: 81.825\n",
+      "call 121 ended 81.830; waiting time was 1.465\n",
+      "operator answered call 133 at 81.830\n",
+      "call 120 ended 81.964; waiting time was 2.090\n",
+      "call 123 ended 81.999; waiting time was 2.367\n",
+      "call arrives at: 82.003\n",
+      "operator answered call 134 at 82.003\n",
+      "call arrives at: 82.116\n",
+      "operator answered call 135 at 82.116\n",
+      "call arrives at: 82.523\n",
+      "call arrives at: 82.630\n",
+      "call 122 ended 82.865; waiting time was 2.052\n",
+      "operator answered call 136 at 82.865\n",
+      "call arrives at: 82.907\n",
+      "call arrives at: 83.197\n",
+      "call arrives at: 83.256\n",
+      "call 125 ended 83.567; waiting time was 0.791\n",
+      "operator answered call 137 at 83.567\n",
+      "call arrives at: 83.967\n",
+      "call arrives at: 84.118\n",
+      "call arrives at: 84.364\n",
+      "call 124 ended 84.923; waiting time was 0.936\n",
+      "operator answered call 138 at 84.923\n",
+      "call 130 ended 85.218; waiting time was 0.000\n",
+      "operator answered call 139 at 85.218\n",
+      "call arrives at: 85.266\n",
+      "call arrives at: 85.442\n",
+      "call arrives at: 85.507\n",
+      "call 127 ended 85.547; waiting time was 0.279\n",
+      "operator answered call 140 at 85.547\n",
+      "call arrives at: 85.788\n",
+      "call 126 ended 86.016; waiting time was 0.733\n",
+      "operator answered call 141 at 86.016\n",
+      "call 129 ended 86.177; waiting time was 0.000\n",
+      "operator answered call 142 at 86.177\n",
+      "call 131 ended 86.360; waiting time was 0.778\n",
+      "operator answered call 143 at 86.360\n",
+      "call arrives at: 86.581\n",
+      "call arrives at: 86.696\n",
+      "call 133 ended 87.932; waiting time was 0.005\n",
+      "operator answered call 144 at 87.932\n",
+      "call 128 ended 87.986; waiting time was 0.000\n",
+      "operator answered call 145 at 87.986\n",
+      "call arrives at: 88.040\n",
+      "call arrives at: 88.058\n",
+      "call arrives at: 88.084\n",
+      "call arrives at: 88.211\n",
+      "call 135 ended 89.026; waiting time was 0.000\n",
+      "operator answered call 146 at 89.026\n",
+      "call 136 ended 89.520; waiting time was 0.342\n",
+      "operator answered call 147 at 89.520\n",
+      "call 137 ended 89.638; waiting time was 0.937\n",
+      "operator answered call 148 at 89.638\n",
+      "call 134 ended 90.154; waiting time was 0.000\n",
+      "operator answered call 149 at 90.154\n",
+      "call 132 ended 90.851; waiting time was 0.239\n",
+      "operator answered call 150 at 90.851\n",
+      "call arrives at: 91.257\n",
+      "call 141 ended 91.852; waiting time was 2.049\n",
+      "operator answered call 151 at 91.852\n",
+      "call arrives at: 91.945\n",
+      "call arrives at: 92.388\n",
+      "call 140 ended 92.393; waiting time was 2.291\n",
+      "operator answered call 152 at 92.393\n",
+      "call arrives at: 92.569\n",
+      "call arrives at: 92.710\n",
+      "call arrives at: 93.035\n",
+      "call arrives at: 93.133\n",
+      "call arrives at: 93.255\n",
+      "call 139 ended 93.277; waiting time was 2.021\n",
+      "operator answered call 153 at 93.277\n",
+      "call 138 ended 93.568; waiting time was 2.016\n",
+      "operator answered call 154 at 93.568\n",
+      "call arrives at: 93.950\n",
+      "call 144 ended 94.525; waiting time was 2.667\n",
+      "operator answered call 155 at 94.525\n",
+      "call arrives at: 94.727\n",
+      "call arrives at: 95.074\n",
+      "call 143 ended 95.306; waiting time was 1.996\n",
+      "operator answered call 156 at 95.306\n",
+      "call arrives at: 95.388\n",
+      "call 145 ended 95.561; waiting time was 2.545\n",
+      "operator answered call 157 at 95.561\n",
+      "call arrives at: 95.613\n",
+      "call 142 ended 95.641; waiting time was 2.059\n",
+      "operator answered call 158 at 95.641\n",
+      "call 148 ended 95.658; waiting time was 3.057\n",
+      "operator answered call 159 at 95.658\n",
+      "call arrives at: 95.720\n",
+      "call 146 ended 96.400; waiting time was 3.518\n",
+      "operator answered call 160 at 96.400\n",
+      "call 149 ended 96.820; waiting time was 3.458\n",
+      "operator answered call 161 at 96.820\n",
+      "call arrives at: 97.002\n",
+      "call arrives at: 97.390\n",
+      "call 150 ended 97.678; waiting time was 2.811\n",
+      "operator answered call 162 at 97.678\n",
+      "call arrives at: 97.921\n",
+      "call 152 ended 98.333; waiting time was 4.310\n",
+      "operator answered call 163 at 98.333\n",
+      "call arrives at: 98.416\n",
+      "call 147 ended 99.069; waiting time was 3.732\n",
+      "operator answered call 164 at 99.069\n",
+      "call arrives at: 99.130\n",
+      "call arrives at: 99.659\n",
+      "call 151 ended 99.777; waiting time was 3.794\n",
+      "operator answered call 165 at 99.777\n",
       "end of run. simulation clock time = 100\n"
      ]
     }
@@ -723,7 +741,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.1.undefined"
+   "version": "3.11.10"
   }
  },
  "nbformat": 4,
diff --git a/content/05_basic_results.ipynb b/content/05_basic_results.ipynb
index e698c4a..ae31c81 100644
--- a/content/05_basic_results.ipynb
+++ b/content/05_basic_results.ipynb
@@ -295,7 +295,7 @@
      "text": [
       "end of run. simulation clock time = 1000\n",
       "Simulation Complete\n",
-      "Waiting time for call operators: 2.54 minutes\n"
+      "Waiting time for call operators: 3.94 minutes\n"
      ]
     }
    ],
diff --git a/img/callcentre.drawio b/img/callcentre.drawio
index e92fa02..9f9d196 100644
--- a/img/callcentre.drawio
+++ b/img/callcentre.drawio
@@ -1,52 +1,52 @@
 <mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" version="24.7.17">
   <diagram name="Page-1" id="NLeWijuplnK_P19Hk09n">
-    <mxGraphModel dx="1928" dy="983" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+    <mxGraphModel dx="1034" dy="1180" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
       <root>
         <mxCell id="0" />
         <mxCell id="1" parent="0" />
-        <mxCell id="r9qKXJP48PfzUs8szVPf-1" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-1" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
           <mxGeometry x="50" y="190" width="100" height="220" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B0B0B0;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B0B0B0;" parent="1" vertex="1">
           <mxGeometry x="52.5" y="197" width="95" height="211" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
-          <mxGeometry x="NaN" y="NaN" width="NaN" height="30" as="geometry" />
+        <mxCell id="r9qKXJP48PfzUs8szVPf-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
+          <mxGeometry height="30" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-4" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#050505;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-4" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#050505;" parent="1" vertex="1">
           <mxGeometry x="95" y="191" width="10" height="10" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-5" value="&lt;font style=&quot;font-size: 36px;&quot;&gt;111&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-5" value="&lt;font style=&quot;font-size: 36px;&quot;&gt;111&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
           <mxGeometry x="70" y="220" width="60" height="30" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-6" value="&lt;font style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;Calls&lt;/b&gt;&lt;/font&gt;&lt;div&gt;&lt;font style=&quot;font-size: 24px;&quot;&gt;100 per hour&lt;/font&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-6" value="&lt;font style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;Calls&lt;/b&gt;&lt;/font&gt;&lt;div&gt;&lt;font style=&quot;font-size: 24px;&quot;&gt;100 per hour&lt;/font&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
           <mxGeometry x="19.75" y="440" width="160.5" height="30" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-7" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;fillColor=#EBEBEB;" edge="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-7" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;fillColor=#EBEBEB;" parent="1" edge="1">
           <mxGeometry width="50" height="50" relative="1" as="geometry">
             <mxPoint x="190" y="310" as="sourcePoint" />
             <mxPoint x="510" y="310" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-18" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;Wait for available operator&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-18" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;Wait for available operator&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
           <mxGeometry x="180.25" y="320" width="320" height="30" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-19" value="" style="group" vertex="1" connectable="0" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-19" value="" style="group" parent="1" vertex="1" connectable="0">
           <mxGeometry x="530" y="220" width="100" height="160" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-8" value="" style="shape=actor;whiteSpace=wrap;html=1;fillColor=#0066CC;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-8" value="" style="shape=actor;whiteSpace=wrap;html=1;fillColor=#0066CC;" parent="r9qKXJP48PfzUs8szVPf-19" vertex="1">
           <mxGeometry y="20" width="100" height="140" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-11" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=-90;fillColor=#C48850;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-11" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=-90;fillColor=#C48850;" parent="r9qKXJP48PfzUs8szVPf-19" vertex="1">
           <mxGeometry x="15" y="17.5" width="70" height="55" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-13" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=90;fillColor=#000000;strokeColor=default;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-13" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=90;fillColor=#000000;strokeColor=default;" parent="r9qKXJP48PfzUs8szVPf-19" vertex="1">
           <mxGeometry x="7" y="40" width="30" height="10" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-14" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=90;fillColor=#000000;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-14" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=90;fillColor=#000000;" parent="r9qKXJP48PfzUs8szVPf-19" vertex="1">
           <mxGeometry x="62" y="40" width="30" height="10" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-16" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=default;" edge="1" parent="r9qKXJP48PfzUs8szVPf-19">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-16" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=default;" parent="r9qKXJP48PfzUs8szVPf-19" edge="1">
           <mxGeometry width="50" height="50" relative="1" as="geometry">
             <mxPoint x="19.5" y="47" as="sourcePoint" />
             <mxPoint x="76.5" y="47" as="targetPoint" />
@@ -57,14 +57,14 @@
             </Array>
           </mxGeometry>
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-17" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="r9qKXJP48PfzUs8szVPf-19">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-17" value="" style="endArrow=none;html=1;rounded=0;" parent="r9qKXJP48PfzUs8szVPf-19" edge="1">
           <mxGeometry width="50" height="50" relative="1" as="geometry">
             <mxPoint x="77" y="55" as="sourcePoint" />
             <mxPoint x="57" y="65" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-20" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;Call operators&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;13 operators&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;Each call lasts 10-15 minutes&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
-          <mxGeometry x="455.13" y="440" width="249.75" height="30" as="geometry" />
+        <mxCell id="r9qKXJP48PfzUs8szVPf-20" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;Call operators&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;13 operators&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;Each call lasts 5-15 minutes&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="422.56" y="440" width="314.87" height="30" as="geometry" />
         </mxCell>
       </root>
     </mxGraphModel>
diff --git a/img/callcentre.png b/img/callcentre.png
index e6fe87a7c1bb3962418f517ee17f8547f4ded93d..bcbd2a265d6796942767795d0bb7f138523c9f56 100644
GIT binary patch
diff --git a/img/callcentre_waittime.drawio b/img/callcentre_waittime.drawio
index 2ee62c0..9f50813 100644
--- a/img/callcentre_waittime.drawio
+++ b/img/callcentre_waittime.drawio
@@ -4,49 +4,49 @@
       <root>
         <mxCell id="0" />
         <mxCell id="1" parent="0" />
-        <mxCell id="r9qKXJP48PfzUs8szVPf-1" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-1" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
           <mxGeometry x="50" y="190" width="100" height="220" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B0B0B0;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B0B0B0;" parent="1" vertex="1">
           <mxGeometry x="52.5" y="197" width="95" height="211" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
-          <mxGeometry x="NaN" y="NaN" width="NaN" height="30" as="geometry" />
+        <mxCell id="r9qKXJP48PfzUs8szVPf-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
+          <mxGeometry height="30" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-4" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#050505;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-4" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#050505;" parent="1" vertex="1">
           <mxGeometry x="95" y="191" width="10" height="10" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-5" value="&lt;font style=&quot;font-size: 36px;&quot;&gt;111&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-5" value="&lt;font style=&quot;font-size: 36px;&quot;&gt;111&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
           <mxGeometry x="70" y="220" width="60" height="30" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-6" value="&lt;font style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;Calls&lt;/b&gt;&lt;/font&gt;&lt;div&gt;&lt;font style=&quot;font-size: 24px;&quot;&gt;100 per hour&lt;/font&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-6" value="&lt;font style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;Calls&lt;/b&gt;&lt;/font&gt;&lt;div&gt;&lt;font style=&quot;font-size: 24px;&quot;&gt;100 per hour&lt;/font&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
           <mxGeometry x="19.75" y="440" width="160.5" height="30" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-7" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;fillColor=#EBEBEB;" edge="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-7" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;fillColor=#EBEBEB;" parent="1" edge="1">
           <mxGeometry width="50" height="50" relative="1" as="geometry">
             <mxPoint x="190" y="310" as="sourcePoint" />
             <mxPoint x="510" y="310" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-18" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;Wait for available operator&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-18" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;Wait for available operator&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
           <mxGeometry x="180.25" y="320" width="320" height="30" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-19" value="" style="group" vertex="1" connectable="0" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-19" value="" style="group" parent="1" vertex="1" connectable="0">
           <mxGeometry x="530" y="220" width="100" height="160" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-8" value="" style="shape=actor;whiteSpace=wrap;html=1;fillColor=#0066CC;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-8" value="" style="shape=actor;whiteSpace=wrap;html=1;fillColor=#0066CC;" parent="r9qKXJP48PfzUs8szVPf-19" vertex="1">
           <mxGeometry y="20" width="100" height="140" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-11" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=-90;fillColor=#C48850;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-11" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=-90;fillColor=#C48850;" parent="r9qKXJP48PfzUs8szVPf-19" vertex="1">
           <mxGeometry x="15" y="17.5" width="70" height="55" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-13" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=90;fillColor=#000000;strokeColor=default;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-13" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=90;fillColor=#000000;strokeColor=default;" parent="r9qKXJP48PfzUs8szVPf-19" vertex="1">
           <mxGeometry x="7" y="40" width="30" height="10" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-14" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=90;fillColor=#000000;" vertex="1" parent="r9qKXJP48PfzUs8szVPf-19">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-14" value="" style="ellipse;whiteSpace=wrap;html=1;rotation=90;fillColor=#000000;" parent="r9qKXJP48PfzUs8szVPf-19" vertex="1">
           <mxGeometry x="62" y="40" width="30" height="10" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-16" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=default;" edge="1" parent="r9qKXJP48PfzUs8szVPf-19">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-16" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=default;" parent="r9qKXJP48PfzUs8szVPf-19" edge="1">
           <mxGeometry width="50" height="50" relative="1" as="geometry">
             <mxPoint x="19.5" y="47" as="sourcePoint" />
             <mxPoint x="76.5" y="47" as="targetPoint" />
@@ -57,22 +57,22 @@
             </Array>
           </mxGeometry>
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-17" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="r9qKXJP48PfzUs8szVPf-19">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-17" value="" style="endArrow=none;html=1;rounded=0;" parent="r9qKXJP48PfzUs8szVPf-19" edge="1">
           <mxGeometry width="50" height="50" relative="1" as="geometry">
             <mxPoint x="77" y="55" as="sourcePoint" />
             <mxPoint x="57" y="65" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-20" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;Call operators&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;13 operators&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;Each call lasts 10-15 minutes&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
-          <mxGeometry x="455.13" y="440" width="249.75" height="30" as="geometry" />
+        <mxCell id="r9qKXJP48PfzUs8szVPf-20" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;Call operators&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;13 operators&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;Each call lasts 5-15 minutes&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="427.56" y="440" width="304.87" height="30" as="geometry" />
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-21" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;fillColor=#66CC00;" edge="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-21" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;fillColor=#66CC00;" parent="1" edge="1">
           <mxGeometry width="50" height="50" relative="1" as="geometry">
             <mxPoint x="520" y="300" as="sourcePoint" />
             <mxPoint x="520" y="170" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="r9qKXJP48PfzUs8szVPf-23" value="&lt;font style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;New:&amp;nbsp;&lt;/b&gt;Record wait time for each caller&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+        <mxCell id="r9qKXJP48PfzUs8szVPf-23" value="&lt;font style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;New:&amp;nbsp;&lt;/b&gt;Record wait time for each caller&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
           <mxGeometry x="450" y="90" width="140" height="60" as="geometry" />
         </mxCell>
       </root>
diff --git a/img/callcentre_waittime.png b/img/callcentre_waittime.png
index c81b3c239b0ee715c72095866cb34a41d345f659..68ccfe5fc0cd9b9bb6b6ab43c03f8af6b9a473e8 100644
GIT binary patch
