some basic hash functionality