Work on the refactor