hashes and stuff