basic CLI structure