support command line argument