I already said this on the VL forums, but I might as well bring it up here as well: that argument doesn't hold much ground, Joe. I'm not saying it's a great approach, but depending on an OCX is roughly as boggy-downy as depending on a DLL (because OCX files are special cases of DLL files); it ultimately boils down to assembly calling other assembly, and there's nothing inherently inefficient about that. Sure, it degrades the optimizer's ability to do things like inline short functions, but come on, we're talking about VB here. You're better off spending your time finding and optimizing your O(n-squared) algorithms.