add alloc API