less iterator allocations