Work on refactor