Chapter 12 Quantum error correction and fault tolerance