diff --git a/docs/1b/ece124.md b/docs/1b/ece124.md
index 8c98a42..6b1cc60 100644
--- a/docs/1b/ece124.md
+++ b/docs/1b/ece124.md
@@ -293,6 +293,21 @@ An $n$-input mux has $\lceil\log_2 n\rceil$ **select inputs** all in the same mu
(Source: Wikimedia Commons)
+**Shannon's expansion theorem** states that any function can be turned into a function that purely uses multiplexers:
+
+$$
+\begin{align*}
+f(w_1,\dots, w_n) &=w_1f_{w_1} + w_1'f_{w_1'} \\
+&= w_1f(1, \dots, w_n) = w_1'f(0, \dots, w_n)
+\end{align*}
+$$
+
+A **demultiplexer** has one input, $n$ select inputs, and up to $2^n$ outputs that carry the input signal depending on the select input.
+
+(Source: Wikimedia Commons)
+
+A **binary encoder** takes $2^n$ inputs and $n$ outputs, with the binary representation of the $n$ outputs indicating the inputs enabled by binary index.
+
## VHDL
VHDL is a hardware schematic language.