Implementing proper command line argument parsing