break out CLI into individual commands, instead of loops