slab allocator implementaion