             
             let image:UIImage = UIGraphicsGetImageFromCurrentImageContext()
             
-            else
-        {
-            UIGraphicsEndImageContext()
-            return
-        }
-        
-        UIGraphicsEndImageContext()
-        let sharingItems:[Any] = [image]
-        
-        share(items:sharingItems)
-        viewSolution.endExporting()
-    }
-    
-    private func shareSolutionImage()
-    {
-        let allFooters:CGFloat = CGFloat(model.steps.count)
-        let allFootersHeight:CGFloat = allFooters * kFooterHeight
-        let removeSize:CGFloat = kBarHeight + allFootersHeight
-        let collectionView:VCollection = viewSolution.collectionView
-        let originalSize:CGSize = collectionView.contentSize
-        let exportableHeight:CGFloat = originalSize.height - removeSize
-        let exporableSize:CGSize = CGSize(
-            width:originalSize.width,
-            height:exportableHeight)
-        let frame:CGRect = CGRect(origin:CGPoint.zero, size:exporableSize)
-        
-        UIGraphicsBeginImageContextWithOptions(exporableSize, true, 0)
-        
-        guard
-            
-            let context:CGContext = UIGraphicsGetCurrentContext()
-            
-        else
-        {
-            return
-        }
-        
-        context.setFillColor(UIColor.white.cgColor)
-        context.fill(frame)
-        
-        var stepIndex:Int = 0
-        var removeTop:CGFloat = kBarHeight
-        
-        for step:MLinearEquationsSolutionStep in model.steps
-        {
-            var itemIndex:Int = 0
-            
-            let sectionPath:IndexPath = IndexPath(
-                item:0,
-                section:stepIndex)
-            let header:VLinearEquationsSolutionHeader = collectionView.dequeueReusableSupplementaryView(
-                ofKind:UICollectionElementKindSectionHeader,
-                withReuseIdentifier:
-                step.reusableIdentifier,
-                for:sectionPath) as! VLinearEquationsSolutionHeader
-            header.config(
-                step:step,
-                indexPath:sectionPath)
-            let headerFrame:CGRect = header.frame
-            let exportableHeaderFrame:CGRect = headerFrame.offsetBy(
-                dx:0,
-                dy:-removeTop)
-            
-            header.drawHierarchy(
-                in:exportableHeaderFrame,
-                afterScreenUpdates:true)
-            
-            for item:MLinearEquationsSolutionEquationItem in step.plainItems
-            {
-                let indexPath:IndexPath = IndexPath(
-                    item:itemIndex,
-                    section:stepIndex)
-                let cell:VLinearEquationsSolutionCell = collectionView.dequeueReusableCell(
-                    withReuseIdentifier:
-                    item.reusableIdentifier,
-                    for:indexPath) as! VLinearEquationsSolutionCell
-                cell.config(
-                    model:item,
-                    index:indexPath)
-                let cellFrame:CGRect = cell.frame
-                let exportableCellFrame:CGRect = cellFrame.offsetBy(
-                    dx:0,
-                    dy:-removeTop)
-                cell.drawHierarchy(
-                    in:exportableCellFrame,
-                    afterScreenUpdates:true)
-                
-                itemIndex += 1
-            }
-            
-            stepIndex += 1
-            removeTop += kFooterHeight
-        }
-        
-        guard
-            
-            let image:UIImage = UIGraphicsGetImageFromCurrentImageContext()
-            
         else
         {
             UIGraphicsEndImageContext()

    private func shareStepImage(stepIndex:Int)
    {
        let step:MLinearEquationsSolutionStep = model.steps[stepIndex]
        let collectionView:VCollection = viewSolution.collectionView
        let contentWidth:CGFloat = collectionView.contentSize.width
        let exportbleHeight:CGFloat = originalSize.height - removeSize
        let exporableSize:CGSize = CGSize(
            width:originalSize.width,
            height:exportbleHeight)
        let frame:CGRect = CGRect(origin:CGPoint.zero, size:exporableSize)
        
        UIGraphicsBeginImageContextWithOptions(exporableSize, true, 0)
        
        guard
            
            let context:CGContext = UIGraphicsGetCurrentContext()
            
            else
        {
            return
        }

            style:
            UIAlertActionStyle.default)
        { [weak self] (action:UIAlertAction) in
         
            self?.viewSolution.startExporting()
            
            DispatchQueue.main.async
            { [weak self] in
                
                self?.shareStepImage(stepIndex:step)
            }
        }
        
        let actionText:UIAlertAction = UIAlertAction(
