Way more changes than I should have put in one commit.