     
     let failureReason: String?
     
-    public init(name: String, timestamp: NSDate, glucose: Int? = nil, iob: IOBStatus? = nil, cob: COBStatus? = nil, suggested: LoopSuggested? = nil, enacted: LoopEnacted?, failureReason: String? = nil) {
+    public init(name: String, version: String, timestamp: NSDate, glucose: Int? = nil, iob: IOBStatus? = nil, cob: COBStatus? = nil, suggested: LoopSuggested? = nil, enacted: LoopEnacted?, failureReason: String? = nil) {
         self.name = name
+        self.version = version
         self.timestamp = timestamp
         self.suggested = suggested
         self.enacted = enacted


public struct LoopStatus {
    let name: String
    let timestamp: NSDate
    
    let iob: IOBStatus?
    let cob: COBStatus?
    let suggested: LoopSuggested?

        var rval = [String: AnyObject]()
        
        rval["name"] = name
        rval["version"] = version
        rval["timestamp"] = TimeFormat.timestampStrFromDate(timestamp)
        
        if let suggested = suggested {
