avoid some unneeded allocations