Cleaning; argument parsing is more robust