Updated to finish the previous refactor.