improve arg parser modeling