Basic allocator