Hi ruks, If you are going to rely on explicit template instantiation, you have to be meticulous about instantiating all the templates that are referenced. And you have to have a deep knowledge about the template mechanism (which* is a an obtuse, convoluted, and confusing code generation language built into C++ -- but x1000 better than the C preprocessor). Otherwise, in my opinion, it is best to rely on implicit template instantiation and vague linkage instead. I am not a C++ template guru. I know enough about them to use them effectively, and I can (albeit poorly, in retrospect) write them -- but there are so many agonizing subtleties and mindboggling nuances and t's-to-cross and i's-to-dot that I leave the fine art of template crafting to the smart++ folks at Boost <http://www.boost.org/>. Sincerely, --Eljay * in my not-so-humble opinion. I¹m comparing / contrasting C++ template facilities with D¹s code generation mechanism, in particular. It is as-if C++ template mechanism was not designed as a code generation language, and only was realized that it is one long after the fact, and way too late to redesign it. "What 99 percent of programmers need to know is not how to build components, but how to use them." ~ Alexander Stepanov