     }
     
     func ensureRunning() -> (String?) {
+        if !registerVersion() {
+            return "Could not determine syncthing version"
+        }
         let result = portFinder.findPort()
         // mop: ITS GO :O ZOMG!!111
         if (result.err != nil) {

    
        notificationCenter.addObserver(self, selector: "taskStopped:", name: NSTaskDidTerminateNotification, object: task)
        notificationCenter.addObserver(self, selector: "receivedOut:", name: NSFileHandleDataAvailableNotification, object: nil)
    }
    
    func run() -> (String?) {

    var log : SyncthingLog
    var buf : NSString = NSString()
    var apiKey: NSString?
    var version: [Int]?

    init(log: SyncthingLog) {
        self.log = log
