This is really the main change still. Everything outside of this file is fixing tests + reformatting the areas I edited.