avoid copying the vector of data being passed