struct cmd and arg