reverted for 3.9 hashtable and subfunctions