          
             self?.viewSolution.startExporting()
             
-            DispatchQueue.main.async
+            DispatchQueue.global(qos:DispatchQoS.QoSClass.background).async
             { [weak self] in
                 
-                self?.shareStepImage(stepIndex:step)
+                guard
+                
+                    let step:MLinearEquationsSolutionStep = self?.model.steps[stepIndex]
+                
+                else
+                {
+                    return
+                }
+                
+                let steps:[MLinearEquationsSolutionStep] = [step]
+                self?.shareStepsImage(steps:steps)
             }
         }
         

                
                guard
                    
                    let modelStep:MLinearEquationsSolutionStep = self?.model.steps[step]
                    
                else
                {

        context.setFillColor(UIColor.white.cgColor)
        context.fill(frame)
        
        var stepIndex:Int = 0
        var removeTop:CGFloat = kBarHeight
        
        for step:MLinearEquationsSolutionStep in model.steps
        {
            
        }
        
        guard
