preallocating
not defined yet