diff --git a/lectures/memory-hierarchies/slides.qmd b/lectures/memory-hierarchies/slides.qmd
index 86a69902f4092834b3a03c846cd11db9bf668adb..d7caad410b88702485a39c9d509ee7d3329fdf9a 100644
--- a/lectures/memory-hierarchies/slides.qmd
+++ b/lectures/memory-hierarchies/slides.qmd
@@ -337,7 +337,7 @@ Techniques to provide data ahead of time
 
 ## Memory Pyramid (downwards) {auto-animate=true}
 
-Order of magnitude on Levante (AMD EPYC 7763)
+Based on a typical Levante node (AMD EPYC 7763)
 
 - Base frequency: 2.45 GHz
 
@@ -345,87 +345,33 @@ Order of magnitude on Levante (AMD EPYC 7763)
 
 ## Memory Pyramid (downwards) {auto-animate=true}
 
-::::::::{.r-stack}
+Based on a typical Levante node (AMD EPYC 7763)
 
-:::{.normal style="color: #ffcccc; font-size: 3em; font-weight: bold; rotate: -30deg; opacity: 0.5;"}
-
-Check numbers
-
-:::
-
-:::{.normal}
-
-Order of magnitude on Levante (AMD EPYC 7763)
-
-               Access time (ns)    Capacity
-------------   -----------------   ---------
-Register       ~0.4                1 KB
-
-:::
-
-::::::::
+<table data-auto-animate-target="memtbl"><thead>
+<tr class="header"><th data-id="h11"></th><th data-id="h12" style="text-align: left;">Latency</th><th data-id="h13" style="text-align: left;">Capacity</th></tr>
+</thead><tbody>
+<tr class="odd"><td data-id="c11">Register</td><td data-id="c12" style="text-align: left;">~0.4 ns</td><td data-id="c13" style="text-align: left;">1 KB</td></tr>
+</tbody></table>
 
 :::{.incremental}
 
- - L1 Cache about 3 times slower
+ - L1-L3 Cache are a few times slower
 
 :::
 
 
 ## Memory Pyramid (downwards) {auto-animate=true}
 
-::::::::{.r-stack}
+Based on a typical Levante node (AMD EPYC 7763)
 
-:::{.normal style="color: #ffcccc; font-size: 3em; font-weight: bold; rotate: -30deg; opacity: 0.5;"}
-
-Check numbers
-
-:::
-
-:::{.normal}
-
-Order of magnitude on Levante (AMD EPYC 7763)
-
-               Access time (ns)    Capacity
-------------   -----------------   ---------
-Register       ~0.4                1 KB
-L1 Cache       ~1.1                32 KB
-
-:::
-
-::::::::
-
-:::{.incremental}
-
- - Same factors for L2 and L3
-
-:::
-
-
-## Memory Pyramid (downwards) {auto-animate=true}
-
-::::::::{.r-stack}
-
-:::{.normal style="color: #ffcccc; font-size: 3em; font-weight: bold; rotate: -30deg; opacity: 0.5;"}
-
-Check numbers
-
-:::
-
-:::{.normal}
-
-Order of magnitude on Levante (AMD EPYC 7763)
-
-               Access time (ns)    Capacity
-------------   -----------------   ---------
-Register       ~0.4                1 KB
-L1 Cache       ~1.1                32 KB
-L2 Cache       ~3.3                512 KB
-L3 Cache       ~12.8               32 MB
-
-:::
-
-::::::::
+<table data-auto-animate-target="memtbl"><thead>
+<tr class="header"><th data-id="h11"></th><th data-id="h12" style="text-align: left;">Latency</th><th data-id="h13" style="text-align: left;">Capacity</th></tr>
+</thead><tbody>
+<tr class="odd"><td data-id="c11">Register</td><td data-id="c12" style="text-align: left;">~0.4 ns</td><td data-id="c13" style="text-align: left;">1 KB</td></tr>
+<tr class="even"><td data-id="c21">L1 Cache</td><td data-id="c22" style="text-align: left;">~1 ns</td><td data-id="c22" style="text-align: left;">32 KB</td></tr>
+<tr class="odd"><td data-id="c31">L2 Cache</td><td data-id="c32" style="text-align: left;">a few ns</td><td data-id="c33" style="text-align: left;">512 KB</td></tr>
+<tr class="even"><td data-id="c41">L3 Cache</td><td data-id="c42" style="text-align: left;">~10 ns</td><td data-id="c43" style="text-align: left;">32 MB</td></tr>
+</tbody></table>
 
 :::{.incremental}
 
@@ -437,29 +383,17 @@ L3 Cache       ~12.8               32 MB
 
 ## Memory Pyramid (downwards) {auto-animate=true}
 
-::::::::{.r-stack}
-
-:::{.normal style="color: #ffcccc; font-size: 3em; font-weight: bold; rotate: -30deg; opacity: 0.5;"}
-
-Check numbers
-
-:::
-
-:::{.normal}
-
-Order of magnitude on Levante (AMD EPYC 7763)
-
-               Access time (ns)    Capacity
-------------   -----------------   ---------
-Register       ~0.4                1 KB
-L1 Cache       ~1.1                32 KB
-L2 Cache       ~3.3                512 KB
-L3 Cache       ~12.8               32 MB
-Main Memory    60                  256 GB
-
-:::
+Based on a typical Levante node (AMD EPYC 7763)
 
-::::::::
+<table data-auto-animate-target="memtbl"><thead>
+<tr class="header"><th data-id="h11"></th><th data-id="h12" style="text-align: left;">Latency</th><th data-id="h13" style="text-align: left;">Capacity</th></tr>
+</thead><tbody>
+<tr class="odd"><td data-id="c11">Register</td><td data-id="c12" style="text-align: left;">~0.4 ns</td><td data-id="c13" style="text-align: left;">1 KB</td></tr>
+<tr class="even"><td data-id="c21">L1 Cache</td><td data-id="c22" style="text-align: left;">~1 ns</td><td data-id="c22" style="text-align: left;">32 KB</td></tr>
+<tr class="odd"><td data-id="c31">L2 Cache</td><td data-id="c32" style="text-align: left;">a few ns</td><td data-id="c33" style="text-align: left;">512 KB</td></tr>
+<tr class="even"><td data-id="c41">L3 Cache</td><td data-id="c42" style="text-align: left;">~10 ns</td><td data-id="c43" style="text-align: left;">32 MB</td></tr>
+<tr class="odd"><td data-id="c51">Main Memory</td><td data-id="c52" style="text-align: left;">10s of ns</td><td data-id="c53" style="text-align: left;">256 GB</td></tr>
+</tbody></table>
 
 :::{.incremental}
 
@@ -471,30 +405,18 @@ Main Memory    60                  256 GB
 
 ## Memory Pyramid (downwards) {auto-animate=true}
 
-::::::::{.r-stack}
-
-:::{.normal style="color: #ffcccc; font-size: 3em; font-weight: bold; rotate: -30deg; opacity: 0.5;"}
-
-Check numbers
-
-:::
-
-:::{.normal}
-
-Order of magnitude on Levante (AMD EPYC 7763)
-
-               Access time (ns)    Capacity
-------------   -----------------   ---------
-Register       ~0.4                1 KB
-L1 Cache       ~1.1                32 KB
-L2 Cache       ~3.3                512 KB
-L3 Cache       ~12.8               32 MB
-Main Memory    60                  256 GB
-SSD            100                 200 TB
+Based on a typical Levante node (AMD EPYC 7763)
 
-:::
-
-::::::::
+<table data-auto-animate-target="memtbl"><thead>
+<tr class="header"><th data-id="h11"></th><th data-id="h12" style="text-align: left;">Latency</th><th data-id="h13" style="text-align: left;">Capacity</th></tr>
+</thead><tbody>
+<tr class="odd"><td data-id="c11">Register</td><td data-id="c12" style="text-align: left;">~0.4 ns</td><td data-id="c13" style="text-align: left;">1 KB</td></tr>
+<tr class="even"><td data-id="c21">L1 Cache</td><td data-id="c22" style="text-align: left;">~1 ns</td><td data-id="c22" style="text-align: left;">32 KB</td></tr>
+<tr class="odd"><td data-id="c31">L2 Cache</td><td data-id="c32" style="text-align: left;">a few ns</td><td data-id="c33" style="text-align: left;">512 KB</td></tr>
+<tr class="even"><td data-id="c41">L3 Cache</td><td data-id="c42" style="text-align: left;">~10 ns</td><td data-id="c43" style="text-align: left;">32 MB</td></tr>
+<tr class="odd"><td data-id="c51">Main Memory</td><td data-id="c52" style="text-align: left;">10s of ns</td><td data-id="c53" style="text-align: left;">256 GB</td></tr>
+<tr class="even"><td data-id="c61">SSD</td><td data-id="c62" style="text-align: left;">100s of µs</td><td data-id="c63" style="text-align: left;">200 TB</td></tr>
+</tbody></table>
 
 :::{.incremental}
 
@@ -506,31 +428,19 @@ SSD            100                 200 TB
 
 ## Memory Pyramid (downwards) {auto-animate=true}
 
-::::::::{.r-stack}
-
-:::{.normal style="color: #ffcccc; font-size: 3em; font-weight: bold; rotate: -30deg; opacity: 0.5;"}
-
-Check numbers
-
-:::
-
-:::{.normal}
-
-Order of magnitude on Levante (AMD EPYC 7763)
-
-               Access time (ns)    Capacity
-------------   -----------------   ---------
-Register       ~0.4                1 KB
-L1 Cache       ~1.1                32 KB
-L2 Cache       ~3.3                512 KB
-L3 Cache       ~12.8               32 MB
-Main Memory    ~60                 256 GB
-SSD            ~100                200 TB
-Hard disk      ~3000               130 PB
-
-:::
-
-::::::::
+Based on a typical Levante node (AMD EPYC 7763)
+
+<table data-auto-animate-target="memtbl"><thead>
+<tr class="header"><th data-id="h11"></th><th data-id="h12" style="text-align: left;">Latency</th><th data-id="h13" style="text-align: left;">Capacity</th></tr>
+</thead><tbody>
+<tr class="odd"><td data-id="c11">Register</td><td data-id="c12" style="text-align: left;">~0.4 ns</td><td data-id="c13" style="text-align: left;">1 KB</td></tr>
+<tr class="even"><td data-id="c21">L1 Cache</td><td data-id="c22" style="text-align: left;">~1 ns</td><td data-id="c22" style="text-align: left;">32 KB</td></tr>
+<tr class="odd"><td data-id="c31">L2 Cache</td><td data-id="c32" style="text-align: left;">a few ns</td><td data-id="c33" style="text-align: left;">512 KB</td></tr>
+<tr class="even"><td data-id="c41">L3 Cache</td><td data-id="c42" style="text-align: left;">~10 ns</td><td data-id="c43" style="text-align: left;">32 MB</td></tr>
+<tr class="odd"><td data-id="c51">Main Memory</td><td data-id="c52" style="text-align: left;">10s of ns</td><td data-id="c53" style="text-align: left;">256 GB</td></tr>
+<tr class="even"><td data-id="c61">SSD</td><td data-id="c62" style="text-align: left;">100s of µs</td><td data-id="c63" style="text-align: left;">200 TB</td></tr>
+<tr class="odd"><td data-id="c71">Hard disk</td><td data-id="c72" style="text-align: left;">a few ms</td><td data-id="c73" style="text-align: left;">130 PB</td></tr>
+</tbody></table>