started the refactor