prepare pimpl support