various changes that fully implements the cli/ directory