Part 3b w/ fixed typos.