do only one memory alloc