Work on the 2nd refactor