avoid copying data to new array