Refactor argv out, add in command reader and CLI