  We show how good quantum error-correcting codes can be constructed using
generalized concatenation. The inner codes are quantum codes, the outer codes
can be linear or nonlinear classical codes. Many new good codes are found,
including both stabilizer codes as well as so-called nonadditive codes.
