Finished part 2. Hoorah.  I hope there aren't any secret memory leaks.