continued refactoring cli system