avoiding some more object allocations