fleshing out interface; writing hashing functions