support command-line arguments