use size_t to save pointer value for hashing.