Still working on refactor