Hello, thanks for your answers. Yes, of course, i looked at the boost smart pointers. But, well, isn't a shared_ptr a shared_ptr because it shares ownership (via ref. counting)? :] What i expect is, that pimpl defaults to *deep*copying of the hidden members, when copying the object. (As it would happen, if there is no PImpl object on default copy construction). I don't get it, why shared_ptr is suggested without any hint (do i overlooked that?) that the private members are now shared (that basicly means "are the same") across the objects, which isn't the *primary* goal of PImpl, IMHO. The primary goal of PImpl is to hide private members and therefore act as a compilation firewall. Sharing private data is nice in cases but should *not* be the default behaviour. I think that still leaves my question if boost has a template for member hiding, with the (IMHO nice) results as documented in the url i gave. And, if not, whouln't it make sense to have such one? Best Regards, David