preallocates