 
     func goforrestorefilestotemporarypath() -> Bool {
         guard self.tmprestorepathverified, self.tmprestorepathselected, self.index, self.estimated, self.restorefiles, self.remotefileverified else { return false }
+        return true
+    }
+
+    func goforfullrestoreestimate() -> Bool {
+        guard self.tmprestorepathselected == false, self.index, self.estimated == false, self.fullrestore else { return false }
+        return true
+    }
+
+    func goforfullrestoreestimatetemporarypath() -> Bool {
+        guard self.tmprestorepathverified, self.tmprestorepathselected, self.index, self.estimated == false, self.fullrestore else { return false }
         return true
     }
 }

                self.info.stringValue = gotit
                self.info.isHidden = false
                self.working.startAnimation(nil)
                if ViewControllerReference.shared.temporarypathforrestore != nil, self.selecttmptorestore.state == .on {
                    self.fullrestoretask = FullrestoreTask(index: index, dryrun: true, tmprestore: true, updateprogress: self)
                    self.outputprocess = self.fullrestoretask?.outputprocess
                    self.process = fullrestoretask?.getProcess()
                } else {
                    self.selecttmptorestore.state = .off
                    self.fullrestoretask = FullrestoreTask(index: index, dryrun: true, tmprestore: false, updateprogress: self)
                    self.outputprocess = self.fullrestoretask?.outputprocess


    @IBAction func estimate(_: NSButton) {
        guard self.checkforrsync() == false else { return }
        if (self.restoreactions?.goforfullrestoreestimatetemporarypath() ?? false) || (self.restoreactions?.goforfullrestoreestimate() ?? false) {
            guard self.checkforfullrestore() == true else { return }
            if let index = self.index {
                self.info.textColor = setcolor(nsviewcontroller: self, color: .green)
