don't modify the hash in place