todo pluggable hashes