improved speed through the use of HASH_PUTH macro