hash tables: added support of generic values (instead of c-strings) + some changes