OK, well, with the source, you can see what all the interfaces (and guts underneath) are. You can use the existing DLL which is still up as a download, and build a VC or VB project against the DLL - using the source as some guidance for digging to find what might be happening. Building as a COM object, as far as I know, implies that the thing *musT* be multi-threaded or capable of being used in a multi-threaded manner (the apartment model effectively means that everything is run as a single-thread with concurrency at the entry point level). This may or may not be magicified for you through the way interfaces are defined. Going the COM way seems to me to be adding an extra layer of complexity. We've had users in the past wrap the code so that it runs as a separate process, and it has a socket I/O interface for sending commands to it. Where this has been done, its been closed-source and not something we've seen - those who have done it have kept it to themselves. But they sure as heck did not use COM!