use portable hashes