reason for allocate a bulk of memory before