allocator work