refactor tests and Roots.new api
massive refactors across every piece of the cli