added a hash structure in hash.h/c