work on copy of passed in args