reduced memory allocations