fix memory alloc