this is C++, I'd prefer `tokens[i] != NULL` -> `tokens[i] != 0`