Part 2.

Still needs a ton of work!