switch GIL classes to PIMPL pattern
optimize includes