decouple entrance and subcommands