Improve argument parsing and usage