Part 1 of the big refactor.