added argument parser to parse command line input