hash and stuff