improved argument read processing