implementing hashing and proper hash map