use hash table for handle storage