it need to pre-allocate memory for data