don't mutate the original data in the pipeline, but make a copy