first steps toward generic hashtable