add a command options parser that also adds the ability to add non optional arguments