support command line parsing