  We discuss energy barriers and their relationship to self-correcting quantum
memories. We introduce the solid code, a 3-d version of Kitaev's surface code,
and then combine several solid codes using a technique called welding. The
resulting code is a $[[O(L^3),1,O(L^{\frac{4}{3}})]]$ stabilizer code with an
energy barrier of $O(L^{\frac{2}{3}})$, which is an exponential improvement
over the previous highest energy barrier in 3-d. No-go results are avoided by
breaking microscopic translation invariance.
