avoid memory allocation