a bit more work on hash_t