         
         guard let file:String = options.file,
             let outfile:String  = options.outfile,
-            let showIssues:Bool = options.withIssues
+            let showIssues:Bool = options.withIssues,
+            let showVersion:Bool = options.withVersion
             else {
                 return .Failure(.InvalidArgument(description: "Missing values: file, outfile"))
         }
-        
+
         //print(file)
         //print(outfile)
         
         let path = NSURL(fileURLWithPath: file)
         do {
+
+            //let runLoop = CFRunLoopGetCurrent()
+
             let text = try NSString(contentsOfURL: path, encoding: NSUTF8StringEncoding) as String
 
             var lines:[String] = []

                                defaultValue: "CHANGELOG-RELEASENOTES.md", usage: "the out release notes file to build")
                <*> m <| Option(key: "withIssues",
                                defaultValue: false, usage: "write IssueIds to CHANGELOG-ISSUES.TXT")
        }
    }
    

                        exit(EXIT_FAILURE)
                    }
                    
                    if let info:String = self.buildInfo(log) where showVersion {
                        print(info)
                    }
                    
                    if let tickets:String = self.getTicketIds(log) where showIssues {
                        print(tickets)
                    }
                
                    exit(EXIT_SUCCESS)
                })
            })

            CFRunLoopRun()
            return .Success(())
        } catch let error as NSError {
            
            print(ChangelogParserError.ParseFailed(description: error.localizedDescription).description)
            //exit(EXIT_FAILURE)
            return .Failure(.ParseFailed(description: "Parse failed"))
        }
        
        // return .Failure(.ParseFailed(description: "Parse failed"))
    }
    
    /// Write a `Changelog` to the provided file on disk.
