diff --git a/cmlkit.ipynb b/cmlkit.ipynb
index d7577e9930731ea341d3d8c272dc1b7392ff669d..fc3dd07835c3535bb80c5cc9548227ee881bf99e 100644
--- a/cmlkit.ipynb
+++ b/cmlkit.ipynb
@@ -165,7 +165,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:14:51.895588Z",
@@ -193,7 +193,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:14:53.762582Z",
@@ -201,54 +201,7 @@
     },
     "scrolled": true
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "# dataset: nmd18_train #\n",
-      "\n",
-      "Dataset (training portion) from the NOMAD2018 Kaggle challenge: Unrelaxed (Vegard's law) geometries and their properties.\n",
-      "Formation energy in eV per atom, bandgap in eV per structure, spacegroup number.\n",
-      "Properties given for relaxed structures.\n",
-      "\n",
-      "## Overview ##\n",
-      " 2400 periodic systems (materials)\n",
-      " 3 different properties: ['fe', 'bg', 'sg']\n",
-      " elements by charge: [ 8 13 31 49]\n",
-      " max #els/system: 4;  max same #el/system: 48;  max #atoms/system: 80\n",
-      " min dist: 1.32;  max dist: 25.91\n",
-      "\n",
-      "## Geometry ##\n",
-      "### Ranges ###\n",
-      " These are the ranges for various geometry properties.\n",
-      " count   : 0 to 48\n",
-      " dist    : 1.3202 to 25.9075\n",
-      " 1/dist  : 0.0386 to 0.7575\n",
-      " 1/dist^2: 0.0015 to 0.5738\n",
-      "\n",
-      "### Recommendations for d ###\n",
-      " We recommend using the intervals (-0.05*max, 1.05*max) for the parametrisation of the MBTR, i.e. a 5% padding.  In the following, we give (start, stop, n).\n",
-      " k=1 MBTR:\n",
-      " count     : (-2.40, 52.80, n)\n",
-      " k=2 MBTR:\n",
-      " 1/dist    : (-0.04, 0.83, n)\n",
-      " 1/dot     : (-0.03, 0.63, n)\n",
-      " k=3 MBTR (experimental):\n",
-      " angle     : (-0.16, 3.46, n)\n",
-      " cos_angle : (-1.05, 1.05, n)\n",
-      " dot/dotdot: (-0.03, 0.63, n)\n",
-      " It is still prudent to experiment with these settings!\n",
-      "\n",
-      "## Properties ##\n",
-      " Mean and standard deviation of properties:\n",
-      " fe: 0.0750 (0.0416)\n",
-      " bg: 2.0772 (1.0066)\n",
-      " sg: 141.5179 (84.6979)\n",
-      "\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "nmd18_train = cmlkit.load_dataset(\"data/cmlkit/nmd18_train\")\n",
     "print(nmd18_train.report)\n",
@@ -264,23 +217,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:14:53.980365Z",
      "start_time": "2020-03-04T23:14:53.782941Z"
     }
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "N_train = 80\n",
-      "N_test = 20\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "_, idx_toy_train, idx_toy_test = cmlkit.utility.threeway_split(nmd18_train.n, 80, 20)\n",
     "toy_train = cmlkit.Subset.from_dataset(nmd18_train, idx=idx_toy_train)\n",
@@ -302,22 +246,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:14:54.008314Z",
      "start_time": "2020-03-04T23:14:53.986770Z"
     }
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "<cmlkit.model.Model object at 0x11b3915f8>\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "config = {\n",
     "    \"model\": {\n",
@@ -362,25 +298,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:14:54.028714Z",
      "start_time": "2020-03-04T23:14:54.015701Z"
     }
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "<cscribe.soap.SOAP object at 0x11b3918d0>\n",
-      "<cmlkit.regression.qmml.krr.KRR object at 0x11b391898>\n",
-      "<cmlkit.regression.qmml.kernel_atomic.KernelAtomic object at 0x11b3917f0>\n",
-      "<cmlkit.regression.qmml.kernel_functions.KernelfGaussian object at 0x11b3916a0>\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "print(model.representation)  # <- not implemented in cmlkit, but in the cscribe plugin!\n",
     "print(model.regression)\n",
@@ -397,25 +322,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:08.992318Z",
      "start_time": "2020-03-04T23:14:54.034916Z"
     }
    },
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "<cmlkit.model.Model at 0x11b3915f8>"
-      ]
-     },
-     "execution_count": 6,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "outputs": [],
    "source": [
     "model.train(toy_train, target=\"fe\")"
    ]
@@ -429,25 +343,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:11.394550Z",
      "start_time": "2020-03-04T23:15:08.995748Z"
     }
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "[0.05100886 0.01643984 0.37651442 0.26976857 0.05900663 0.36325342\n",
-      " 0.1276366  0.21757215 0.34657709 0.25217743 0.22842776 0.27647228\n",
-      " 0.0604013  0.25050383 0.14240782 0.16469173 0.24729573 0.16990821\n",
-      " 0.12124777 0.31693171]\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "pred = model.predict(toy_test, per=\"cation\")\n",
     "print(pred)"
@@ -462,23 +365,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:11.413811Z",
      "start_time": "2020-03-04T23:15:11.396955Z"
     }
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "[0.0459 0.1115 0.343  0.2614 0.0617 0.381  0.1362 0.2161 0.3857 0.2226\n",
-      " 0.2113 0.2073 0.0221 0.2291 0.132  0.1733 0.2324 0.1261 0.1159 0.3358]\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "true = toy_test.pp(\"fe\", per=\"cation\")  # pp means \"property per\"\n",
     "print(true)"
@@ -493,22 +387,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:11.435051Z",
      "start_time": "2020-03-04T23:15:11.425015Z"
     }
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "{'rmse': 0.0337418583712199, 'mae': 0.02445845591276884, 'maxae': 0.09506015793979168, 'r2': 0.902205246146932, 'rmsle': 0.029333376093927246}\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "loss = cmlkit.evaluation.get_loss(\"rmse\", \"mae\", \"maxae\", \"r2\", \"rmsle\")\n",
     "print(loss(true, pred))"
@@ -544,7 +430,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:11.446861Z",
@@ -569,22 +455,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:11.465445Z",
      "start_time": "2020-03-04T23:15:11.451766Z"
     }
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "<__main__.F object at 0x11b5bdb00>\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "class F(cmlkit.engine.Component):\n",
     "    kind = \"f\"\n",
@@ -612,26 +490,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:12.023830Z",
      "start_time": "2020-03-04T23:15:11.468282Z"
     }
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "(0, {'x': 0.47430154100580957, 'y': 1.1808824523028227, 'z': 1.456060182509149})\n",
-      "(1, {'x': 0.17493917371880396, 'y': 0.7352477275170646, 'z': 1.7173875395185256})\n",
-      "(2, {'x': 1.6728847163897997, 'y': 1.5261760600348726, 'z': 1.985036214798903})\n",
-      "(3, {'x': 0.32432680763910393, 'y': 1.4008460612017275, 'z': 1.3469545085546486})\n",
-      "(4, {'x': 0.83375538564964, 'y': 0.7082089608839477, 'z': 1.125229835874551})\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "search = cmlkit.tune.Hyperopt(space, method=\"tpe\")\n",
     "\n",
@@ -651,41 +517,19 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:12.903563Z",
      "start_time": "2020-03-04T23:15:12.029802Z"
     }
    },
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "<matplotlib.axes._subplots.AxesSubplot at 0x1230fe208>"
-      ]
-     },
-     "execution_count": 13,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 3 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "import matplotlib.pyplot as plt\n",
     "import seaborn\n",
-    "\n",
+    "%matplotlib inline\n",
+    "seaborn.set_context('notebook')\n",
     "fig, axs = plt.subplots(nrows=1, ncols=3)\n",
     "fig.tight_layout(pad=1.0)\n",
     "seaborn.distplot([s[1][\"x\"] for s in suggestions], ax=axs[0], kde=False, bins=8)\n",
@@ -702,7 +546,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:12.919073Z",
@@ -728,37 +572,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:16.115873Z",
      "start_time": "2020-03-04T23:15:12.925081Z"
     }
    },
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "<matplotlib.axes._subplots.AxesSubplot at 0x10a1d85f8>"
-      ]
-     },
-     "execution_count": 15,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 3 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "new_suggestions = [search.suggest() for i in range(200)]\n",
     "fig, axs = plt.subplots(nrows=1, ncols=3)\n",
@@ -781,239 +602,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:18.636243Z",
      "start_time": "2020-03-04T23:15:16.119707Z"
     }
    },
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "Prepared runner reuben-hubert in folder run_reuben-hubert.\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.0/inf. Active evaluations: 0.\n",
-      " Counted trials: 0/100.\n",
-      " Best 3:. Live: 0/T: 0 (0)/E: 0 (0).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.0/inf. Active evaluations: 2.\n",
-      " Counted trials: 0/100.\n",
-      " Best 3:. Live: 2/T: 0 (0)/E: 0 (0).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.0/inf. Active evaluations: 2.\n",
-      " Counted trials: 2/100.\n",
-      " Best 3: 4.3546 7.5187. Live: 2/T: 2 (2)/E: 2 (2).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.1/inf. Active evaluations: 2.\n",
-      " Counted trials: 4/100.\n",
-      " Best 3: 1.5822 4.3546 4.8986. Live: 2/T: 4 (4)/E: 4 (4).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.1/inf. Active evaluations: 2.\n",
-      " Counted trials: 6/100.\n",
-      " Best 3: 1.5822 3.9892 4.3546. Live: 2/T: 6 (6)/E: 6 (6).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.1/inf. Active evaluations: 2.\n",
-      " Counted trials: 8/100.\n",
-      " Best 3: 0.4750 0.4967 1.5822. Live: 2/T: 8 (8)/E: 8 (8).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.1/inf. Active evaluations: 2.\n",
-      " Counted trials: 10/100.\n",
-      " Best 3: 0.4338 0.4750 0.4967. Live: 2/T: 10 (10)/E: 10 (10).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.1/inf. Active evaluations: 2.\n",
-      " Counted trials: 12/100.\n",
-      " Best 3: 0.4338 0.4750 0.4967. Live: 2/T: 12 (12)/E: 12 (12).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.2/inf. Active evaluations: 2.\n",
-      " Counted trials: 14/100.\n",
-      " Best 3: 0.4338 0.4750 0.4967. Live: 2/T: 14 (14)/E: 14 (14).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.2/inf. Active evaluations: 2.\n",
-      " Counted trials: 16/100.\n",
-      " Best 3: 0.4338 0.4750 0.4967. Live: 2/T: 16 (16)/E: 16 (16).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.2/inf. Active evaluations: 2.\n",
-      " Counted trials: 18/100.\n",
-      " Best 3: 0.4338 0.4750 0.4967. Live: 2/T: 18 (18)/E: 18 (18).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.2/inf. Active evaluations: 2.\n",
-      " Counted trials: 20/100.\n",
-      " Best 3: 0.4338 0.4750 0.4967. Live: 2/T: 20 (20)/E: 20 (20).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.2/inf. Active evaluations: 2.\n",
-      " Counted trials: 22/100.\n",
-      " Best 3: 0.4338 0.4750 0.4967. Live: 2/T: 22 (22)/E: 22 (22).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.2/inf. Active evaluations: 2.\n",
-      " Counted trials: 24/100.\n",
-      " Best 3: 0.1865 0.4338 0.4750. Live: 2/T: 24 (24)/E: 24 (24).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.3/inf. Active evaluations: 2.\n",
-      " Counted trials: 26/100.\n",
-      " Best 3: 0.1865 0.4338 0.4750. Live: 2/T: 26 (26)/E: 26 (26).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.3/inf. Active evaluations: 2.\n",
-      " Counted trials: 28/100.\n",
-      " Best 3: 0.1865 0.4338 0.4750. Live: 2/T: 28 (28)/E: 28 (28).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.3/inf. Active evaluations: 2.\n",
-      " Counted trials: 30/100.\n",
-      " Best 3: 0.1865 0.4338 0.4750. Live: 2/T: 30 (30)/E: 30 (30).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.3/inf. Active evaluations: 2.\n",
-      " Counted trials: 31/100.\n",
-      " Best 3: 0.1865 0.4338 0.4750. Live: 2/T: 31 (31)/E: 31 (31).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.3/inf. Active evaluations: 2.\n",
-      " Counted trials: 33/100.\n",
-      " Best 3: 0.1865 0.4338 0.4750. Live: 2/T: 33 (33)/E: 33 (33).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.3/inf. Active evaluations: 2.\n",
-      " Counted trials: 35/100.\n",
-      " Best 3: 0.1865 0.4338 0.4750. Live: 2/T: 35 (35)/E: 35 (35).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.4/inf. Active evaluations: 2.\n",
-      " Counted trials: 37/100.\n",
-      " Best 3: 0.1865 0.4338 0.4750. Live: 2/T: 37 (37)/E: 37 (37).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.4/inf. Active evaluations: 2.\n",
-      " Counted trials: 38/100.\n",
-      " Best 3: 0.1865 0.4338 0.4750. Live: 2/T: 38 (38)/E: 38 (38).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.4/inf. Active evaluations: 2.\n",
-      " Counted trials: 40/100.\n",
-      " Best 3: 0.1865 0.4338 0.4750. Live: 2/T: 40 (40)/E: 40 (40).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.4/inf. Active evaluations: 2.\n",
-      " Counted trials: 42/100.\n",
-      " Best 3: 0.1371 0.1865 0.4338. Live: 2/T: 42 (42)/E: 42 (42).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.4/inf. Active evaluations: 2.\n",
-      " Counted trials: 44/100.\n",
-      " Best 3: 0.1371 0.1865 0.4338. Live: 2/T: 44 (44)/E: 44 (44).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.4/inf. Active evaluations: 2.\n",
-      " Counted trials: 46/100.\n",
-      " Best 3: 0.0575 0.1371 0.1865. Live: 2/T: 46 (46)/E: 46 (46).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.5/inf. Active evaluations: 2.\n",
-      " Counted trials: 48/100.\n",
-      " Best 3: 0.0575 0.1371 0.1865. Live: 2/T: 48 (48)/E: 48 (48).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.5/inf. Active evaluations: 2.\n",
-      " Counted trials: 50/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 50 (50)/E: 50 (50).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.5/inf. Active evaluations: 2.\n",
-      " Counted trials: 52/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 52 (52)/E: 52 (52).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.5/inf. Active evaluations: 2.\n",
-      " Counted trials: 54/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 54 (54)/E: 54 (54).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.5/inf. Active evaluations: 2.\n",
-      " Counted trials: 56/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 56 (56)/E: 56 (56).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.5/inf. Active evaluations: 2.\n",
-      " Counted trials: 58/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 58 (58)/E: 58 (58).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.5/inf. Active evaluations: 2.\n",
-      " Counted trials: 60/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 60 (60)/E: 60 (60).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.6/inf. Active evaluations: 2.\n",
-      " Counted trials: 62/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 62 (62)/E: 62 (62).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.6/inf. Active evaluations: 2.\n",
-      " Counted trials: 64/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 64 (64)/E: 64 (64).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.6/inf. Active evaluations: 2.\n",
-      " Counted trials: 66/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 66 (66)/E: 66 (66).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.6/inf. Active evaluations: 2.\n",
-      " Counted trials: 68/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 68 (68)/E: 68 (68).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.6/inf. Active evaluations: 2.\n",
-      " Counted trials: 70/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 70 (70)/E: 70 (70).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.6/inf. Active evaluations: 2.\n",
-      " Counted trials: 72/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 72 (72)/E: 72 (72).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.6/inf. Active evaluations: 2.\n",
-      " Counted trials: 74/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 74 (74)/E: 74 (74).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.7/inf. Active evaluations: 2.\n",
-      " Counted trials: 76/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 76 (76)/E: 76 (76).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.7/inf. Active evaluations: 2.\n",
-      " Counted trials: 78/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 78 (78)/E: 78 (78).\n"
-     ]
-    },
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.7/inf. Active evaluations: 2.\n",
-      " Counted trials: 80/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 80 (80)/E: 80 (80).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.7/inf. Active evaluations: 2.\n",
-      " Counted trials: 82/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 82 (82)/E: 82 (82).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.7/inf. Active evaluations: 2.\n",
-      " Counted trials: 84/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 84 (84)/E: 84 (84).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.7/inf. Active evaluations: 2.\n",
-      " Counted trials: 86/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 86 (86)/E: 86 (86).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.7/inf. Active evaluations: 2.\n",
-      " Counted trials: 88/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 88 (88)/E: 88 (88).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.8/inf. Active evaluations: 2.\n",
-      " Counted trials: 90/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 90 (90)/E: 90 (90).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.8/inf. Active evaluations: 2.\n",
-      " Counted trials: 92/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 92 (92)/E: 92 (92).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.8/inf. Active evaluations: 2.\n",
-      " Counted trials: 94/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 94 (94)/E: 94 (94).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:52 ###\n",
-      " Running. Runtime: 0.8/inf. Active evaluations: 2.\n",
-      " Counted trials: 96/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 96 (96)/E: 96 (96).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:53 ###\n",
-      " Running. Runtime: 0.8/inf. Active evaluations: 2.\n",
-      " Counted trials: 98/100.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 98 (98)/E: 98 (98).\n",
-      "Finished run reuben-hubert in 0.83s. Starting shutdown...\n",
-      "Saved top 5 suggestions into run_reuben-hubert.\n",
-      "Successfully and peacefully shut down pool.\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "search = cmlkit.tune.Hyperopt(space, method=\"tpe\")  # reset the search\n",
     "run = cmlkit.tune.Run(\n",
@@ -1045,51 +641,28 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:18.665774Z",
      "start_time": "2020-03-04T23:15:18.641335Z"
     }
    },
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[{'x': 1.5818042514930213, 'y': 1.2657000758009747, 'z': 0.7601900721957833},\n",
-       " {'x': 1.3427491107976572, 'y': 1.3691821817415368, 'z': 1.245311886247032},\n",
-       " {'x': 1.1339357615854369, 'y': 1.9944778370469811, 'z': 1.014278646077928},\n",
-       " {'x': 1.9992908531539673, 'y': 0.9328044470562182, 'z': 1.3873738957769364},\n",
-       " {'x': 1.8024375112719662, 'y': 0.9385405419811872, 'z': 0.9343264250866565}]"
-      ]
-     },
-     "execution_count": 17,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "outputs": [],
    "source": [
     "run.state.evals.top_suggestions()"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:18.687407Z",
      "start_time": "2020-03-04T23:15:18.672209Z"
     }
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "{'x': 1.5818042514930213, 'y': 1.2657000758009747, 'z': 0.7601900721957833}\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "# or alternatively, we can just read from disk:\n",
     "print(cmlkit.read_yaml(run.work_directory / \"suggestion-0\"))\n",
@@ -1107,7 +680,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 19,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:18.958272Z",
@@ -1115,35 +688,7 @@
     },
     "scrolled": true
    },
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[{'suggest': {'suggestion': {'x': 0.47430154100580957,\n",
-       "    'y': 1.1808824523028227,\n",
-       "    'z': 1.456060182509149},\n",
-       "   'tid': 0}},\n",
-       " {'suggest': {'suggestion': {'x': 0.17493917371880396,\n",
-       "    'y': 0.7352477275170646,\n",
-       "    'z': 1.7173875395185256},\n",
-       "   'tid': 1}},\n",
-       " {'submit': {'result': {'ok': {'loss': 7.518743918765714,\n",
-       "     'suggestion': {'x': 0.17493917371880396,\n",
-       "      'y': 0.7352477275170646,\n",
-       "      'z': 1.7173875395185256}}},\n",
-       "   'tid': 1}},\n",
-       " {'submit': {'result': {'ok': {'loss': 4.35464735468655,\n",
-       "     'suggestion': {'x': 0.47430154100580957,\n",
-       "      'y': 1.1808824523028227,\n",
-       "      'z': 1.456060182509149}}},\n",
-       "   'tid': 0}}]"
-      ]
-     },
-     "execution_count": 19,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "outputs": [],
    "source": [
     "run.state.tape.raw[0:4]  # raw just gets us something subscriptable"
    ]
@@ -1162,7 +707,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:23.720715Z",
@@ -1170,105 +715,7 @@
     },
     "scrolled": true
    },
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "Starting run restore...\n",
-      "Parallel support on macOS is a bit wonky. Proceed with caution.\n",
-      "Recovered runner reuben-hubert in folder run_reuben-hubert.\n",
-      "Re-submitting 2 trials to the pool.\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.0/inf. Active evaluations: 2.\n",
-      " Counted trials: 100/200.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 2/T: 100 (100)/E: 100 (100).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.1/inf. Active evaluations: 5.\n",
-      " Counted trials: 102/200.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 5/T: 102 (102)/E: 102 (102).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.2/inf. Active evaluations: 5.\n",
-      " Counted trials: 107/200.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 5/T: 107 (107)/E: 107 (107).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.2/inf. Active evaluations: 5.\n",
-      " Counted trials: 112/200.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 5/T: 112 (112)/E: 112 (112).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.3/inf. Active evaluations: 5.\n",
-      " Counted trials: 117/200.\n",
-      " Best 3: 0.0575 0.1124 0.1371. Live: 5/T: 117 (117)/E: 117 (117).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.4/inf. Active evaluations: 5.\n",
-      " Counted trials: 122/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 122 (122)/E: 122 (122).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.4/inf. Active evaluations: 5.\n",
-      " Counted trials: 127/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 127 (127)/E: 127 (127).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.5/inf. Active evaluations: 5.\n",
-      " Counted trials: 132/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 132 (132)/E: 132 (132).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.5/inf. Active evaluations: 5.\n",
-      " Counted trials: 137/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 137 (137)/E: 137 (137).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.6/inf. Active evaluations: 5.\n",
-      " Counted trials: 142/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 142 (142)/E: 142 (142).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.6/inf. Active evaluations: 5.\n",
-      " Counted trials: 147/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 147 (147)/E: 147 (147).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.7/inf. Active evaluations: 5.\n",
-      " Counted trials: 152/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 152 (152)/E: 152 (152).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.7/inf. Active evaluations: 5.\n",
-      " Counted trials: 157/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 157 (157)/E: 157 (157).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:54 ###\n",
-      " Running. Runtime: 0.8/inf. Active evaluations: 5.\n",
-      " Counted trials: 162/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 162 (162)/E: 162 (162).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:55 ###\n",
-      " Running. Runtime: 1.0/inf. Active evaluations: 5.\n",
-      " Counted trials: 167/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 167 (167)/E: 167 (167).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:55 ###\n",
-      " Running. Runtime: 1.0/inf. Active evaluations: 5.\n",
-      " Counted trials: 172/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 172 (172)/E: 172 (172).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:55 ###\n",
-      " Running. Runtime: 1.1/inf. Active evaluations: 5.\n",
-      " Counted trials: 177/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 177 (177)/E: 177 (177).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:55 ###\n",
-      " Running. Runtime: 1.1/inf. Active evaluations: 5.\n",
-      " Counted trials: 182/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 182 (182)/E: 182 (182).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:55 ###\n",
-      " Running. Runtime: 1.2/inf. Active evaluations: 5.\n",
-      " Counted trials: 187/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 187 (187)/E: 187 (187).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:55 ###\n",
-      " Running. Runtime: 1.3/inf. Active evaluations: 5.\n",
-      " Counted trials: 192/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 192 (192)/E: 192 (192).\n",
-      "### Status of run reuben-hubert at 2020-06-15 19:16:55 ###\n",
-      " Running. Runtime: 1.3/inf. Active evaluations: 5.\n",
-      " Counted trials: 197/200.\n",
-      " Best 3: 0.0575 0.1124 0.1255. Live: 5/T: 197 (197)/E: 197 (197).\n",
-      "Finished run reuben-hubert in 1.36s. Starting shutdown...\n",
-      "Saved top 5 suggestions into run_reuben-hubert.\n",
-      "Successfully and peacefully shut down pool.\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "new = cmlkit.tune.Run.restore(\n",
     "    run.work_directory,\n",
@@ -1295,7 +742,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:23.787092Z",
@@ -1347,7 +794,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 22,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:25.383823Z",
@@ -1355,16 +802,7 @@
     },
     "scrolled": true
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "800\n",
-      "200\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "print(cmlkit.load_dataset(\"data/cmlkit/nmd18_hpo_train\").n)\n",
     "print(cmlkit.load_dataset(\"data/cmlkit/nmd18_hpo_test\").n)\n",
@@ -1382,22 +820,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 23,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:25.514758Z",
      "start_time": "2020-03-04T23:15:25.387384Z"
     }
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "{'model': {'per': 'cell', 'regression': {'krr': {'kernel': {'kernel_atomic': {'kernelf': {'gaussian': {'ls': 512.0}}, 'norm': False}}, 'nl': 3.814697265625e-06}}, 'representation': {'ds_soap': {'cutoff': 3, 'elems': [8, 13, 31, 49], 'l_max': 4, 'n_max': 7, 'rbf': 'gto', 'sigma': 1.52587890625e-05}}}}\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "search = cmlkit.tune.Hyperopt(space, method=\"tpe\")\n",
     "s = search.suggest()[1]\n",
@@ -1413,7 +843,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 24,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:25.575978Z",
@@ -1441,22 +871,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 25,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:42.200993Z",
      "start_time": "2020-03-04T23:15:25.581911Z"
     }
    },
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "Starting run checkout... (this will not yield a runnable instance).\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "run = cmlkit.tune.Run.checkout(\"data/cmlkit/run_nmd18_hpo\")"
    ]
@@ -1472,7 +894,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 26,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "end_time": "2020-03-04T23:15:42.236485Z",
@@ -1488,7 +910,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 27,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "start_time": "2020-03-04T23:16:09.037Z"
@@ -1505,27 +927,13 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 28,
+   "execution_count": null,
    "metadata": {
     "ExecuteTime": {
      "start_time": "2020-03-04T23:16:09.812Z"
     }
    },
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "{'rmse': 0.028560676712279628,\n",
-       " 'rmsle': 0.021981674732855568,\n",
-       " 'mae': 0.014663798738294022,\n",
-       " 'r2': 0.9281975816871104}"
-      ]
-     },
-     "execution_count": 28,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "outputs": [],
    "source": [
     "true = test.pp(\"fe\", per=\"cation\")\n",
     "loss = cmlkit.evaluation.get_loss(\"rmse\", \"rmsle\", \"mae\", \"r2\")\n",
@@ -1590,103 +998,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "[13 49 49 49 49 49 49 49 49 49 49 49 49 49 49 31 49 49 49 49 49 49 49 49\n",
-      " 49 49 49 49 49 49 31 49  8  8  8  8  8  8  8  8  8  8  8  8  8  8  8  8\n",
-      "  8  8  8  8  8  8  8  8  8  8  8  8  8  8  8  8  8  8  8  8  8  8  8  8\n",
-      "  8  8  8  8  8  8  8  8]\n",
-      "[[ 7.64133144e+00  2.54164219e+00  7.65223252e+00]\n",
-      " [ 2.54637093e+00  7.64069859e+00  7.65126758e+00]\n",
-      " [ 7.64697657e+00  7.64126524e+00  2.55757473e+00]\n",
-      " [ 7.64343383e+00  7.63868829e+00  7.65474636e+00]\n",
-      " [ 2.54991367e+00  7.64327554e+00  2.55409595e+00]\n",
-      " [ 7.64487418e+00  2.54421913e+00  2.55506090e+00]\n",
-      " [ 2.54426854e+00  2.54365248e+00  7.64875374e+00]\n",
-      " [ 2.54781128e+00  2.54622943e+00  2.55158212e+00]\n",
-      " [ 7.64401104e+00  4.74485457e+00  5.10473269e+00]\n",
-      " [ 2.55259327e+00  9.84648792e+00  6.59611922e-03]\n",
-      " [ 7.64783970e+00  5.44062979e+00  7.90294578e-03]\n",
-      " [ 5.09691466e+00  7.64115714e+00  4.75781349e+00]\n",
-      " [-5.79336902e-03  2.54354439e+00  9.84899250e+00]\n",
-      " [-6.30055980e-04  7.64281698e+00  5.44755005e+00]\n",
-      " [ 4.74725091e+00  5.09130709e+00  7.65151350e+00]\n",
-      " [ 9.84575416e+00 -5.17237210e-03  2.55530682e+00]\n",
-      " [ 5.43834907e+00 -6.01241790e-03  7.64947277e+00]\n",
-      " [ 2.54723407e+00  5.44006315e+00  5.10159579e+00]\n",
-      " [ 7.64573731e+00  3.43583685e-01  5.38911078e-03]\n",
-      " [ 2.55049088e+00  4.74944182e+00  4.08228422e-03]\n",
-      " [ 5.09433045e+00  2.54376058e+00  5.44851499e+00]\n",
-      " [ 2.91267902e-03  7.64539393e+00  3.50378423e-01]\n",
-      " [-2.25063402e-03  2.54612134e+00  4.75182087e+00]\n",
-      " [ 5.44399420e+00  5.09361063e+00  2.55481498e+00]\n",
-      " [ 3.41286175e-01 -4.00211790e-03  7.64599399e+00]\n",
-      " [ 4.74869126e+00 -3.16207210e-03  2.55182804e+00]\n",
-      " [ 2.54513168e+00  3.43017040e-01  5.09908196e+00]\n",
-      " [ 5.09787319e+00  2.54633752e+00  3.51343368e-01]\n",
-      " [ 3.46931300e-01  5.09562093e+00  2.55133620e+00]\n",
-      " [ 7.64611343e+00  9.84190068e+00  5.10724652e+00]\n",
-      " [ 5.09337192e+00  7.63858020e+00  9.85498511e+00]\n",
-      " [ 9.84431381e+00  5.08929679e+00  7.65499228e+00]\n",
-      " [ 6.31735400e+00  3.98001633e+00  6.69376868e+00]\n",
-      " [ 3.87153413e+00  9.07705845e+00  8.61114923e+00]\n",
-      " [ 8.97228608e+00  6.20386002e+00  1.59950205e+00]\n",
-      " [ 6.31693857e+00  6.20135950e+00  8.61140124e+00]\n",
-      " [ 6.68718307e+00  6.31568449e+00  3.99366953e+00]\n",
-      " [ 8.59912684e+00  3.86576954e+00  9.09094253e+00]\n",
-      " [ 1.58966878e+00  8.96703521e+00  6.21386477e+00]\n",
-      " [ 8.60213409e+00  6.31380506e+00  6.21734438e+00]\n",
-      " [ 3.98426853e+00  6.68255702e+00  6.32651137e+00]\n",
-      " [ 9.08382244e+00  8.59827299e+00  3.88429297e+00]\n",
-      " [ 6.20264334e+00  1.58329442e+00  8.97604353e+00]\n",
-      " [ 6.20737846e+00  8.59816987e+00  6.32897332e+00]\n",
-      " [ 3.87389111e+00  6.20490139e+00  3.51255980e+00]\n",
-      " [ 6.31971098e+00  1.10785927e+00  1.59517925e+00]\n",
-      " [ 1.21895903e+00  3.98105770e+00  8.60682643e+00]\n",
-      " [ 3.87430654e+00  3.98355822e+00  1.59492724e+00]\n",
-      " [ 3.50406204e+00  3.86923323e+00  6.21265895e+00]\n",
-      " [ 1.59211827e+00  6.31914818e+00  1.11538595e+00]\n",
-      " [ 8.60157633e+00  1.21788251e+00  3.99246371e+00]\n",
-      " [ 1.58911102e+00  3.87111266e+00  3.98898410e+00]\n",
-      " [ 6.20697658e+00  3.50236070e+00  3.87981711e+00]\n",
-      " [ 1.10742267e+00  1.58664473e+00  6.32203551e+00]\n",
-      " [ 3.98860177e+00  8.60162330e+00  1.23028495e+00]\n",
-      " [ 3.98386665e+00  1.58674785e+00  3.87735516e+00]\n",
-      " [ 1.22593622e+00  9.08164968e+00  1.59563211e+00]\n",
-      " [ 8.97003737e+00  3.98057899e+00  3.51494255e+00]\n",
-      " [ 3.86957806e+00  1.10624727e+00  6.69068106e+00]\n",
-      " [ 1.22131602e+00  1.10890064e+00  3.50823700e+00]\n",
-      " [ 1.58447504e+00  1.21807174e+00  9.08484854e+00]\n",
-      " [ 3.50770906e+00  8.96740289e+00  3.99280596e+00]\n",
-      " [ 6.68817202e+00  3.87055575e+00  1.11765809e+00]\n",
-      " [ 3.50651153e+00  1.22134620e+00  1.11418014e+00]\n",
-      " [ 9.08277178e+00  1.58607756e+00  1.23030469e+00]\n",
-      " [ 3.98111442e+00  3.50066024e+00  8.97547198e+00]\n",
-      " [ 1.11122557e+00  6.68492777e+00  3.87790696e+00]\n",
-      " [ 1.11175590e+00  3.50571101e+00  1.22580908e+00]\n",
-      " [ 8.96530889e+00  1.10326804e+00  8.61069637e+00]\n",
-      " [ 1.22120774e+00  6.20433873e+00  6.69138593e+00]\n",
-      " [ 6.32166705e+00  9.07867045e+00  3.51564742e+00]\n",
-      " [ 8.96992909e+00  9.07601708e+00  6.69809148e+00]\n",
-      " [ 8.60677007e+00  8.96684598e+00  1.12147994e+00]\n",
-      " [ 6.68353605e+00  1.21751483e+00  6.21352252e+00]\n",
-      " [ 3.50307309e+00  6.31436197e+00  9.08867039e+00]\n",
-      " [ 6.68473358e+00  8.96357152e+00  9.09214834e+00]\n",
-      " [ 1.10847333e+00  8.59884016e+00  8.97602379e+00]\n",
-      " [ 6.21013069e+00  6.68425748e+00  1.23085650e+00]\n",
-      " [ 9.08001954e+00  3.49998995e+00  6.32842152e+00]\n",
-      " [ 9.07948921e+00  6.67920671e+00  8.98051940e+00]]\n",
-      "[[ 1.01941258e+01 -4.02060000e-03  6.95756000e-03]\n",
-      " [ 4.20478000e-03  1.01940922e+01  5.02767000e-03]\n",
-      " [-7.08547000e-03 -5.15389000e-03  1.01943432e+01]]\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "print(toy_test.z[0])\n",
     "print(toy_test.r[0])\n",
@@ -1702,17 +1016,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "dict_keys(['fe', 'bg', 'sg'])\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "print(toy_test.p.keys())"
    ]
@@ -1726,24 +1032,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 31,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "[0.01836 0.0446  0.1372  0.10456 0.02468 0.1524  0.05448 0.08644 0.15428\n",
-      " 0.08904 0.08452 0.08292 0.00884 0.09164 0.0528  0.06932 0.09296 0.05044\n",
-      " 0.04636 0.13432]\n",
-      "[ 1.4688  1.784   5.488   8.3648  1.9744  6.096   4.3584  1.7288 12.3424\n",
-      "  7.1232  6.7616  2.4876  0.1768  7.3312  3.168   2.0796  2.7888  4.0352\n",
-      "  3.7088 10.7456]\n",
-      "[0.0459 0.1115 0.343  0.2614 0.0617 0.381  0.1362 0.2161 0.3857 0.2226\n",
-      " 0.2113 0.2073 0.0221 0.2291 0.132  0.1733 0.2324 0.1261 0.1159 0.3358]\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "print(toy_test.pp(\"fe\", per=\"atom\"))  # fe per *atom*\n",
     "print(toy_test.pp(\"fe\", per=\"cell\"))  # fe per *unit cell*\n",
@@ -1759,17 +1050,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 32,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "dict_keys(['number_systems', 'elements', 'total_elements', 'max_elements_per_system', 'max_same_element_per_system', 'min_same_element_per_system', 'max_atoms_per_system', 'systems_per_element', 'atoms_by_system', 'total_atoms', 'min_distance', 'max_distance', 'geometry', 'properties'])\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "print(toy_test.info.keys())"
    ]
@@ -1783,18 +1066,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 33,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "nmd18_train_subset20\n",
-      "nmd18_train\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "print(toy_test.name)\n",
     "print(nmd18_train.name)"
@@ -1842,38 +1116,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 34,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "15ee226191bd4fd99e95826981e1fc34",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "_ColormakerRegistry()"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "d1e012548fc74c4b814bf50e5fc8eb20",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "HBox(children=(NGLWidget(), VBox(children=(Dropdown(description='Show', options=('All', 'O', 'Al', 'In', 'Ga')…"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "from ase.visualize import view\n",
     "atoms = toy_test.as_Atoms()[0]\n",