cli improvements. needs a big refactor