use CommandLineParser