I really should have broken this into multiple commits.