 
 // MARK: - rendering
 
-#if USE_ARKIT
-
+@available(iOS 11.0, *)
 extension NextLevelBufferRenderer {
     
     internal func createVideoBufferOutput(withPixelBuffer pixelBuffer: CVPixelBuffer, orientation: CGImagePropertyOrientation) -> CVPixelBuffer? {

        let options : [CIContextOption : Any] = [.workingColorSpace : CGColorSpaceCreateDeviceRGB(),
                                                 .useSoftwareRenderer : NSNumber(booleanLiteral: false)]
        self._ciContext = CIContext(mtlDevice: device, options: options)

        // setup pixel buffer rendering
        #if USE_ARKIT
        self._renderer = SCNRenderer(device: device, options: nil)

    ///   - time: SCNSceneRendererDelegate time
    public func renderer(_ renderer: SCNSceneRenderer, didRenderScene scene: SCNScene, atTime time: TimeInterval) {
        guard let arView = self._arView,
            let pixelBuffer = arView.session.currentFrame?.capturedImage,
            let pointOfView = arView.pointOfView,
            let device = self._device else {
                return
        }
        
        self.setupContextIfNecessary()
