Arguement Parser with Error Checking