Improve argument parsing