We are using global dictionary objects extensively to cache frequently used data from our SQL7 database. We recently found out that the dictionary object is apartment threaded, not both threaded, yielding performance problems. The new lookup object is both threaded but presents a different interface, requiring recoding. Does anyone know of a dictionary object with the same interface as Microsoft&#039s but is "both" threaded? Alternatively, an efficient way to recode (possibly using the lookup object or a disconnected recordset) so we don&#039t have to re-write a lot of our calls to the .add,.exists, .keys, and .items methods? The most important feature of the dictionary object is the ability to randomly access elements of the object e.g. dctMembers("memberid"). We have some dictionary objects with 4,000 elements or mroe.<BR><BR>Thanks,<BR><BR>Steve Shier<BR>sshier@3millsoft.com