type map hash table instead