constructors/destructors pointers must have visibility_private