 			}
 			
 			if self.document.documentState == .closed {
+				print("Running open block now!")
 				openBlock()
 			} else {
-				self.closeCurrentProgram() { suc in
-					if suc {
-						openBlock()
+				if #available(iOS 10.0, *) {
+					DispatchQueue.main.sync {
+						self.utilTimer = Timer.scheduledTimer(withTimeInterval: 0.75,
+						                                      repeats: false,
+						                                      block: { t in
+							if self.document.documentState == .closed {
+								openBlock()
+							} else {
+								NSLog("Unable to open file.")
+							}
+						})
 					}
 				}
 			}

			print("open handler suc: \(suc)")
			if suc {
				self.document = doc
			}
			
			if let comp = completion {
				comp(suc)
			}
		})
		
		return true

		
		self.server["/data/open"] = { (request: HttpRequest) -> HttpResponse in
			let queries = BBTSequentialQueryArrayToDict(request.queryParams)
			print("Open request")
			
			guard let name = queries["filename"] else {
				return .badRequest(.text("Missing Parameters"))
