hashtable implementation in c