callback-less batch loop
now working on a copy of the array by default