Yes i use your code but noticed that your X class is not anymore abstract. If i do that my code is not compiling anymore. What if the X class is abstract how to declare the X_wrapper, how to mix these two concepts?