implement subcommands: collect, get_event