less allocations for perf reasons