But that unit is only holding the filter function. You can store the boolexpr and retrieve it by checking by hashtable via the unit's handle id, but you're only storing the filter. If I understand, you believe that storing the filter in the initial loop will basically mean the udg_U will always point to the unit that udg_U was assigned to at the time of saving into hashtable. Otherwise I don't follow.