diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d9731be..010fdb9 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -35,7 +35,7 @@ jobs:
           python-version: 3.12
       - run: pip install -r requirements.txt
       - run: jupyter nbconvert *.ipynb --config jupyter_nbconvert_config.py
-      - run: mv *.html dist/.
+      - run: mv *.html *.ipynb dist/.
       - uses: actions/upload-pages-artifact@v3
         with:
           path: "dist/"
diff --git a/index.ipynb b/index.ipynb
index 80b1bc7..b11505b 100644
--- a/index.ipynb
+++ b/index.ipynb
@@ -35,9 +35,15 @@
    "source": [
     "# Preparation\n",
     "\n",
-    "You will need a computer with Python, Jupyter and pandas installed.\n",
+    "You will need a computer with Python, Jupyter and pandas installed. For example:\n",
     "\n",
-    "If you don't already have this, I recommend installing [Anaconda](https://www.anaconda.com/download/success) (which contains all of this and more)."
+    "- install [micromamba](https://mamba.readthedocs.io/en/latest/installation/micromamba-installation.html#automatic-install)\n",
+    "  - mac/linux: `\"${SHELL}\" <(curl -L micro.mamba.pm/install.sh)`\n",
+    "  - windows powershell: `Invoke-Expression ((Invoke-WebRequest -Uri https://micro.mamba.pm/install.ps1 -UseBasicParsing).Content)`\n",
+    "- download [environment.yml](https://raw.githubusercontent.com/ssciwr/jupyter-data-exploration/refs/heads/main/environment.yml)\n",
+    "- `micromamba env create -f environment.yml`\n",
+    "- `micromamba activate jupyter-data-exploration`\n",
+    "- `jupyter lab`"
    ]
   },
   {
@@ -116,7 +122,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.12.0"
+   "version": "3.13.1"
   }
  },
  "nbformat": 4,
diff --git a/pandas-real-data.ipynb b/pandas-real-data.ipynb
index f393ff3..91c2fa1 100644
--- a/pandas-real-data.ipynb
+++ b/pandas-real-data.ipynb
@@ -779,7 +779,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.12.3"
+   "version": "3.12.0"
   }
  },
  "nbformat": 4,
diff --git a/pandas-toy-data.ipynb b/pandas-toy-data.ipynb
index 8f35637..8f8fb60 100644
--- a/pandas-toy-data.ipynb
+++ b/pandas-toy-data.ipynb
@@ -819,6 +819,8 @@
    "outputs": [],
    "source": [
     "fig, axs = plt.subplots(nrows=1, ncols=3, figsize=(16, 6))\n",
+    "fig.suptitle(\"OK asd asd\")\n",
+    "fig.tight_layout()\n",
     "for ax, column in zip(axs, [\"Sex\", \"Wears glasses\", \"Eye colour\"]):\n",
     "    df[column].value_counts().plot.pie(ax=ax)\n",
     "plt.plot()"
diff --git a/python-jupyter-intro.ipynb b/python-jupyter-intro.ipynb
index c881db6..4b28f02 100644
--- a/python-jupyter-intro.ipynb
+++ b/python-jupyter-intro.ipynb
@@ -898,7 +898,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.12.3"
+   "version": "3.12.0"
   }
  },
  "nbformat": 4,