reworked argv