avoid copying data on a potentially long list