Refactor and restructure CLI