     }
     
     func run() {
+        DDLogDebug("run")
         // Create a session configuration
         let configuration = ARWorldTrackingSessionConfiguration()
         configuration.planeDetection = .horizontal

        // Run the view's session
        sceneView.session.run(configuration)
        
        self.updateEstimatesTimer?.invalidate()
        self.updateEstimatesTimer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(SceneLocationView.updateEstimates), userInfo: nil, repeats: true)
    }
    
    func pause() {
        sceneView.session.pause()
        self.updateEstimatesTimer?.invalidate()
        self.updateEstimatesTimer = nil
    }
    
    //MARK: Scene location estimates
    
    @objc func updateEstimates() {
        self.removeOldLocationEstimates()
    }
    
    func currentScenePosition() -> SCNVector3? {
        guard let pointOfView = sceneView.pointOfView else {

        if sceneNode == nil {
            sceneNode = SCNNode()
            sceneView.scene.rootNode.addChildNode(sceneNode!)
        }
        
        if !didFetchInitialLocation {
