thanks again for the help. I'm trying to persist instations of native contructs (like stl maps) and a straight C++ class instantations across different "instances" of explorer.exe. by "instances" of explorer.exe I mean invocations from the start menu (looking in the task manager process table; there is only one explorer.exe process however). from what i understand, IShellExtInit releated coclass gets created every time the user right clicks on a file name (bringing up the context menu). I want these instances of the coclass to be able to access my instantiations of my straight C++ class that lives at the app level (CWinApp dervied class). i'm pretty sure my problem is memory related; -- is there a good description on how the shell works when executing a new isntance of the explorer? It appearsthat the Esposito Shell programming book is out of print; this book probably has good info in it. -- any info is further appreciated. sas