support command line arguments