another way to tabcompletion with subcommands