arg parsing is now more sophisticated and the program accepts -h and -s flags