total argument parser