explicitly allocate memory to pointers