prototype arg parsing