continued refactoring CLI system