Part III

This one's quite a bit more complex than the others. Towards the end I
noticed some places that could have been done more cleanly, but we're
pretty short on time.