completes ch23, minus challenges