Start working on the refactor