diff --git a/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate b/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate
index c80cf176f960c217ba4cde51172b0c5515748257..e37fec9904c26d34346decd56789a1a5fe1ac27d 100644
Binary files a/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate and b/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
index 216ee44a169a423c337b1cc8c733a132117605a0..0aaf9d7cb081d8f966b1aa411a2d7926f663fb55 100644
--- a/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -3,4 +3,38 @@
    uuid = "270C854E-19C5-4254-A77F-7774BFB2FDA6"
    type = "0"
    version = "2.0">
+   <Breakpoints>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "95CD7D19-EA69-443B-B2CB-85BF78B4914E"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MiniScanner/Modules/EditViewController/EditViewController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "328"
+            endingLineNumber = "328"
+            landmarkName = "updateImage(screenShot:at:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "E0378F70-5CED-4217-A237-C2D061DC0AB8"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MiniScanner/Modules/EditViewController/EditViewController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "329"
+            endingLineNumber = "329"
+            landmarkName = "updateImage(screenShot:at:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+   </Breakpoints>
 </Bucket>
diff --git a/MiniScanner/.DS_Store b/MiniScanner/.DS_Store
index 6263a47aa40deb900a3e686764896cf143d95611..36235e49965c28f0914f34d17e2768ee4d2e4cc4 100644
Binary files a/MiniScanner/.DS_Store and b/MiniScanner/.DS_Store differ
diff --git a/MiniScanner/Modules/EditViewController/CustomViews/BannerView.swift b/MiniScanner/Modules/EditViewController/CustomViews/BannerView.swift
index 7294d2306bbbf7d07cc527a150260c54ee3bc689..3cd25b0c3ecb8d648a327438ab483f4e57140e8e 100644
--- a/MiniScanner/Modules/EditViewController/CustomViews/BannerView.swift
+++ b/MiniScanner/Modules/EditViewController/CustomViews/BannerView.swift
@@ -13,6 +13,11 @@ protocol BannerViewDelegate {
     func delete(index: Int)
     func preview(index: Int)
     func update(session: MultiPageScanSession?)
+    func willStartDragging()
+    func deleteSignAt(index: Int)
+    func posChangedTo(pos: CGPoint, at: Int)
+    func sizeChanged(size: CGSize,angle: CGFloat, at: Int)
+    func updateImage(screenShot: UIImage, at: Int)
 }
 
 class BannerView: UIView {
@@ -108,13 +113,12 @@ class BannerView: UIView {
         view.backgroundColor = .clear
         self.options = ImageScannerOptions()
     }
-    
-    
-    
+
     func set(session: MultiPageScanSession) {
         self.scanSession = session
         clearUI()
     }
+    
     func reloadSignature(with : UIImage, isAll: Bool = false) {
         self.signatureImage = with
         self.signAllDoc = isAll
@@ -137,7 +141,6 @@ class BannerView: UIView {
         cell?.imageView?.image = image
         delegate?.update(session: self.scanSession)
     }
-    
 }
 
 
@@ -145,30 +148,127 @@ extension BannerView: FSPagerViewDataSource,FSPagerViewDelegate {
     func numberOfItems(in pagerView: FSPagerView) -> Int {
         scanSession?.scannedItems.count ?? 0
     }
+    
     func pagerView(_ pagerView: FSPagerView, cellForItemAt index: Int) -> FSPagerViewCell {
         let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "cell", at: index)
+        cell.sign = UIImage()
+        cell.selectedStickerView1?.removeFromSuperview()
         if let item = scanSession?.scannedItems[index] {
-
         cell.index = index
         cell.delegate = self
         cell.session = item
-            cell.imageView?.image = cell.session.renderedImage?.retrieveImage()
-            if let signature = cell.session.signtureImage {
-                if index == pagerView.currentIndex && signature != UIImage(){
-                    cell.sign = signature
+            cell.imageView?.image = item.renderedImage?.retrieveImage()
+            if let signature = item.signtureImage {
+                if let pos = item.signaturePosition {
+                    if signAllDoc {
+                        if signature != UIImage() && !cell.contentView.subviews.contains(cell.selectedStickerView1 ?? UIView()) {
+                            cell.size = item.size
+                            cell.position = pos
+                            cell.rotation = item.rotate ?? 0
+                            cell.sign = signature
+                            DispatchQueue.main.async {
+                                cell.trashButton.isHidden = true
+                                cell.previewButton.isHidden = true
+                                cell.selectedStickerView1?.showEditing = false
+                                let image = cell.contentView.TakeScreenshot()
+                                cell.selectedStickerView1?.showEditing = true
+
+                                cell.trashButton.isHidden = false
+                                cell.previewButton.isHidden = false
+                                
+                                self.delegate?.updateImage(screenShot: image, at: index)
+                            }
+
+                        } else {
+                            cell.sign = UIImage()
+                        }
+                    } else {
+                        if index == pagerView.currentIndex && signature != UIImage() {
+                            cell.size = item.size
+                            cell.position = pos
+                            cell.rotation = item.rotate ?? 0
+                            cell.sign = signature
+                        } else {
+                            cell.sign = UIImage()
+                        }
+                    }
                 }
             }
         }
         return cell
     }
     
-    
+    func pagerView(_ pagerView: FSPagerView, willDisplay cell: FSPagerViewCell, forItemAt index: Int) {
+        cell.sign = UIImage()
+        cell.selectedStickerView1?.removeFromSuperview()
+        if let item = scanSession?.scannedItems[index] {
+        cell.index = index
+        cell.delegate = self
+        cell.session = item
+            cell.imageView?.image = item.renderedImage?.retrieveImage()
+            if let signature = item.signtureImage {
+                if let pos = item.signaturePosition {
+                    if signAllDoc {
+                        if signature != UIImage() && !cell.contentView.subviews.contains(cell.selectedStickerView1 ?? UIView()) {
+                            cell.size = item.size
+                            cell.position = pos
+                            cell.rotation = item.rotate ?? 0
+                            cell.sign = signature
+                            DispatchQueue.main.async {
+                                cell.trashButton.isHidden = true
+                                cell.previewButton.isHidden = true
+                                cell.selectedStickerView1?.showEditing = false
+                                let image = cell.contentView.TakeScreenshot()
+                                cell.selectedStickerView1?.showEditing = true
+
+                                cell.trashButton.isHidden = false
+                                cell.previewButton.isHidden = false
+                                
+                                self.delegate?.updateImage(screenShot: image, at: index)
+                            }
+
+                        } else {
+                            cell.sign = UIImage()
+                        }
+                    } else {
+                        if  signature != UIImage() && index == pagerView.currentIndex && !cell.contentView.subviews.contains(cell.selectedStickerView1 ?? UIView()){
+                            cell.size = item.size
+                            cell.position = pos
+                            cell.rotation = item.rotate ?? 0
+                            cell.sign = signature
+                            
+                        } else {
+                            cell.sign = UIImage()
+                        }
+                    }
+                }
+            }
+        }
+    }
+
     func pagerViewWillEndDragging(_ pagerView: FSPagerView, targetIndex: Int) {
         delegate?.updateSelectedIndex(index: targetIndex)
     }
+    
+    func pagerViewWillBeginDragging(_ pagerView: FSPagerView) {
+        delegate?.willStartDragging()
+    }
 }
 
 extension BannerView: FSPagerViewCellDelegate {
+    func updateScreenShots(image: UIImage, at: Int) {
+        delegate?.updateImage(screenShot: image, at: at)
+    }
+    
+    func sizeChangedto(size: CGSize, angle: CGFloat, at: Int) {
+        delegate?.sizeChanged(size: size, angle: angle, at: at)
+        
+    }
+    
+    func positionChangedTo(pos: CGPoint, at: Int) {
+        delegate?.posChangedTo(pos: pos, at: at)
+    }
+    
     func preview(at: Int) {
         delegate?.preview(index: at)
     }
@@ -176,4 +276,8 @@ extension BannerView: FSPagerViewCellDelegate {
     func delete(at: Int) {
         delegate?.delete(index: at)
     }
+    
+    func deleteSign(at: Int) {
+        delegate?.deleteSignAt(index: at)
+    }
 }
diff --git a/MiniScanner/Modules/EditViewController/EditViewController.swift b/MiniScanner/Modules/EditViewController/EditViewController.swift
index 3d0affcc84f0c83355bd018273b314dfcc2cb32f..cc38bee00b81629a7099c9603ea625291a4aa536 100644
--- a/MiniScanner/Modules/EditViewController/EditViewController.swift
+++ b/MiniScanner/Modules/EditViewController/EditViewController.swift
@@ -94,25 +94,42 @@ public class EditViewController: UIViewController {
         if !isCropping {
             self.banner.donePressed = true
             if let items = scanSession?.scannedItems {
-                let cell = banner.pagerView.cellForItemat(index: self.banner.pagerView.currentIndex)
-                cell?.selectedStickerView1?.showEditing = false
-                
-                cell?.trashButton.isHidden = true
-                cell?.previewButton.isHidden = true
-                let image =  cell?.contentView.TakeScreenshot()
-                cell?.trashButton.isHidden = false
-                cell?.previewButton.isHidden = false
-                cell?.selectedStickerView1?.removeFromSuperview()
-                
-                if let img = image {
-                    let scannedItem = ScannedItem(originalImage: img, renderImage: img, quad: nil)
-                    scannedItem.colorOption = self.options.defaultColorRenderOption
-                    scannedItem.rotation = 180
-                    self.scanSession = self.scanSession?.replaceAndGet(item: scannedItem, at: banner.pagerView.currentIndex)
+                if !banner.signAllDoc {
+                    let cell = banner.pagerView.cellForItemat(index: self.banner.pagerView.currentIndex)
+                    cell?.selectedStickerView1?.showEditing = false
+                    
+                    cell?.trashButton.isHidden = true
+                    cell?.previewButton.isHidden = true
+                    let image =  cell?.contentView.TakeScreenshot()
+                    cell?.trashButton.isHidden = false
+                    cell?.previewButton.isHidden = false
+                    cell?.selectedStickerView1?.removeFromSuperview()
+                    
+                    if let img = image {
+                        let scannedItem = ScannedItem(originalImage: img, renderImage: img, quad: nil)
+                        scannedItem.colorOption = self.options.defaultColorRenderOption
+                        scannedItem.rotation = 180
+                        self.scanSession = self.scanSession?.replaceAndGet(item: scannedItem, at: banner.pagerView.currentIndex)
+                        self.banner.scanSession = self.scanSession
+                        self.banner.pagerView.reloadData(at: banner.pagerView.currentIndex )
+                        updatePageLabel()
+                        self.navigationItem.rightBarButtonItem = nil
+                    }
+                } else {
+                    for (index, item) in items.enumerated() {
+                        let image = item.screenShot
+                        if let img = image {
+                            let scannedItem = ScannedItem(originalImage: img, renderImage: img, quad: nil)
+                            scannedItem.colorOption = self.options.defaultColorRenderOption
+                            scannedItem.rotation = 180
+                            self.scanSession = self.scanSession?.replaceAndGet(item: scannedItem, at: index)
+                        }
+                    }
                     self.banner.scanSession = self.scanSession
-                    self.banner.pagerView.reloadData(at: banner.pagerView.currentIndex )
+                    self.banner.pagerView.reloadData()
                     updatePageLabel()
                     self.navigationItem.rightBarButtonItem = nil
+
                 }
             }
         } else {
@@ -307,6 +324,39 @@ public class EditViewController: UIViewController {
 
 // MARK: - BannerViewDelegate
 extension EditViewController: BannerViewDelegate {
+    func updateImage(screenShot: UIImage, at: Int) {
+        self.scanSession?.scannedItems[at].addScreenShot(screen: screenShot)
+        self.banner.scanSession = scanSession
+//        banner.pagerView.reloadData()
+//        updatePageLabel()
+    }
+    
+    func sizeChanged(size: CGSize, angle: CGFloat, at: Int) {
+        self.scanSession?.scannedItems[at].size = size
+        self.scanSession?.scannedItems[at].rotate = angle
+        banner.scanSession = scanSession
+        banner.pagerView.reloadData()
+        updatePageLabel()
+    }
+    
+    func posChangedTo(pos: CGPoint, at: Int) {
+        self.scanSession?.scannedItems[at].signaturePosition = pos
+        banner.scanSession = self.scanSession
+        banner.pagerView.reloadData()
+        updatePageLabel()
+    }
+    
+    func deleteSignAt(index: Int) {
+        self.scanSession?.scannedItems[index].signtureImage = UIImage()
+        banner.scanSession = self.scanSession
+        banner.pagerView.reloadData()
+        updatePageLabel()
+    }
+    
+    func willStartDragging() {
+        
+    }
+    
     func update(session: MultiPageScanSession?) {
         self.scanSession = session
     }
@@ -478,14 +528,13 @@ extension EditViewController: EPSignatureDelegate {
             let allAction = UIAlertAction(title: "All document", style: .default) { (action) in
                 if let items = self.scanSession?.scannedItems {
                     for (index, _) in items.enumerated() {
-                        if index == self.banner.pagerView.currentIndex {
-                            self.scanSession?.scannedItems[index].signtureImage = signatureImage
-                        } else {
-                            self.scanSession?.scannedItems[index].signtureImage = UIImage()
+
+                        if let initPosition = self.banner.pagerView.cellForItem(at: 0)?.contentView.center {
+                            self.scanSession?.scannedItems[index].addSign(signature: signatureImage, position: initPosition, size: CGSize(width: 125, height: 125), rotate: 0)
                         }
                     }
                     self.banner.scanSession = self.scanSession
-                    self.banner.signAllDoc = false
+                    self.banner.signAllDoc = true
                     self.banner.pagerView.reloadData()
                 }
                 
@@ -498,9 +547,9 @@ extension EditViewController: EPSignatureDelegate {
                 if let items = self.scanSession?.scannedItems {
                     for (index, _) in items.enumerated() {
                         if index == self.banner.pagerView.currentIndex {
-                            self.scanSession?.scannedItems[index].signtureImage = signatureImage
-                        } else {
-                            self.scanSession?.scannedItems[index].signtureImage = UIImage()
+                            if let initPosition = self.banner.pagerView.cellForItem(at: index)?.contentView.center {
+                                self.scanSession?.scannedItems[index].addSign(signature: signatureImage, position: initPosition, size: CGSize(width: 125, height: 125), rotate: 0)
+                            }
                         }
                     }
                     self.banner.scanSession = self.scanSession
diff --git a/MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/MultiPageScanSession.swift b/MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/MultiPageScanSession.swift
index 214ff8e1472f8a8610657f9c76048b40959696c2..b4d11727b37c0632ada564797715a8bcfa32315e 100644
--- a/MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/MultiPageScanSession.swift	
+++ b/MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/MultiPageScanSession.swift	
@@ -33,6 +33,10 @@ public class ScannedItem{
     var renderedImage:URL? = nil
     
     var signtureImage: UIImage?
+    var signaturePosition: CGPoint?
+    var size: CGSize?
+    var rotate: CGFloat?
+    var screenShot: UIImage?
     
     public init(originalImage:UIImage, quad:Quadrilateral? = nil, colorOption:ScannedItemColorOption = .color) {
         self.originalImage = filePath().saveImage(image: originalImage.withFixedOrientation())
@@ -59,6 +63,18 @@ public class ScannedItem{
             completion(image)
         }
     }
+    
+    public func addSign(signature: UIImage, position: CGPoint, size: CGSize, rotate: CGFloat) {
+        self.signtureImage = signature
+        self.signaturePosition = position
+        self.size = size
+        self.rotate = rotate
+        self.screenShot = self.renderedImage?.retrieveImage()
+    }
+    
+    public func addScreenShot(screen: UIImage) {
+        self.screenShot = screen
+    }
 }
 
 public class MultiPageScanSession {
diff --git a/MiniScanner/Supporting Files/LogoAnimationView/StickerView.swift b/MiniScanner/Supporting Files/LogoAnimationView/StickerView.swift
index e07326b40f709b2894eb64913b2cb6c53d2cae90..a0b99e4865283b368c12ade48fd0928044146269 100755
--- a/MiniScanner/Supporting Files/LogoAnimationView/StickerView.swift	
+++ b/MiniScanner/Supporting Files/LogoAnimationView/StickerView.swift	
@@ -116,11 +116,11 @@ open class StickerView: UIView {
     
  
     init(contentView: UIView) {
-        self.defaultInset = 11
+        self.defaultInset = 0
         self.defaultMinimumSize = 4 * self.defaultInset
         
         var frame = contentView.frame
-        frame = CGRect(x: 0, y: 0, width: frame.size.width + CGFloat(self.defaultInset) * 2, height: frame.size.height + CGFloat(self.defaultInset) * 2)
+        frame = CGRect(x: 0, y: 0, width: frame.size.width , height: frame.size.height )
         super.init(frame: frame)
         self.backgroundColor = UIColor.clear
         self.addGestureRecognizer(self.moveGesture)
diff --git a/MiniScanner/Supporting Files/Sources/FSPagerViewCell.swift b/MiniScanner/Supporting Files/Sources/FSPagerViewCell.swift
index 870ad1bedffed46aa2589e4a73419012e5ee4815..da5a521e1f80ef0bb866797168d5f3fc23a6def5 100644
--- a/MiniScanner/Supporting Files/Sources/FSPagerViewCell.swift	
+++ b/MiniScanner/Supporting Files/Sources/FSPagerViewCell.swift	
@@ -10,6 +10,10 @@ import UIKit
 public protocol FSPagerViewCellDelegate {
     func delete(at: Int)
     func preview(at: Int)
+    func deleteSign(at: Int)
+    func positionChangedTo(pos: CGPoint, at: Int)
+    func sizeChangedto(size: CGSize, angle: CGFloat, at: Int)
+    func updateScreenShots(image: UIImage, at: Int)
 }
 open class FSPagerViewCell: UICollectionViewCell {
     var trashButton: UIButton!
@@ -17,10 +21,16 @@ open class FSPagerViewCell: UICollectionViewCell {
     
     open var delegate: FSPagerViewCellDelegate?
     open var index: Int?
+    open var position: CGPoint!
+    open var size: CGSize?
+    open var rotation: CGFloat = 0
+    
     open var sign: UIImage! {
         didSet {
             if sign != UIImage() {
                 loadCaptureSignature(sign ?? UIImage())
+            } else {
+                self.selectedStickerView1?.removeFromSuperview()
             }
         }
     }
@@ -238,19 +248,20 @@ open class FSPagerViewCell: UICollectionViewCell {
     
     func loadCaptureSignature(_ cropImage : UIImage)
     {
-        if cropImage != UIImage(named: "") {
+        if cropImage != UIImage() {
             let grayImg = grayscale(image: cropImage)
             let newImage = grayImg
             
-            let imageSize = CGSize(width: 125, height: 125)
+            let imageSize = size
             
             let testImage = UIImageView()
-            testImage.frame.size = imageSize
+            testImage.frame.size = imageSize ?? CGSize()
             testImage.contentMode = .scaleAspectFit
             testImage.image = newImage
             
             let stickerView = StickerView.init(contentView: testImage)
-            stickerView.center = contentView.center
+            print("position: \(position)")
+            stickerView.center = position
             stickerView.delegate = self
             if let exitIcon = UIImage(named: "close"),
                let rotateIcon =  UIImage(named: "resize") {
@@ -259,7 +270,7 @@ open class FSPagerViewCell: UICollectionViewCell {
             }
             
             stickerView.showEditing = false
-            
+            stickerView.transform = stickerView.transform.rotated(by: CGFloat(rotation))
             self.selectedStickerView1 = stickerView
             if let sign = self.selectedStickerView1 {
                 contentView.addSubview(sign)
@@ -275,10 +286,14 @@ extension FSPagerViewCell: StickerViewDelegate {
     }
     
     func stickerViewDidChangeMoving(_ stickerView: StickerView) {
+        
         return
     }
     
     func stickerViewDidEndMoving(_ stickerView: StickerView) {
+        delegate?.positionChangedTo(pos: stickerView.layer.position, at: index ?? 0)
+//        delegate?.updateScreenShots(image: contentView.TakeScreenshot(), at: index ?? 0)
+
         return
     }
     
@@ -291,11 +306,18 @@ extension FSPagerViewCell: StickerViewDelegate {
     }
     
     func stickerViewDidEndRotating(_ stickerView: StickerView) {
+        let angle = atan2(stickerView.transform.b, stickerView.transform.a)
+        let stickerTest = stickerView
+        stickerTest.transform = stickerView.transform.rotated(by: -angle)
+        delegate?.sizeChangedto(size: CGSize(width: stickerTest.layer.frame.size.width , height: stickerTest.layer.frame.size.height ) , angle: angle, at: index ?? 0)
+//        delegate?.updateScreenShots(image: contentView.TakeScreenshot(), at: index ?? 0)
+        
         return
     }
     
+    
     func stickerViewDidClose(_ stickerView: StickerView) {
-        return
+        delegate?.deleteSign(at: index ?? 0)
     }
     
     func stickerViewDidTap(_ stickerView: StickerView) {