complete (mostly) ch5