if the pointer is there, we need to free it.