added patricks new argument parser