add first-fit allocator