updated argv handling