task allocator