patch for shift not pop, change @args to be @cmdargs for conflicting
with @args global name