         }
         
         var People = [Person]()
+        var groupName: String?
+        var chatGUID: String?
         
         while sqlite3_step(statement) == SQLITE_ROW {
             guard let idcString = sqlite3_column_text(statement, 0) else {
                 break
             }
+            groupName = unwrapStringColumn(for: statement, at: 1)
+            chatGUID = unwrapStringColumn(for: statement, at: 2)
+            
             let handle = String(cString: idcString)
             let contact = ContactHelper.RetreiveContact(handle: handle)
             
             People.append(Person(givenName: contact?.givenName, handle: handle, isMe: false))
         }
         
-        return Group(name: "", handle: handle, participants: People)
+        return Group(name: groupName, handle: chatGUID ?? chatHandle, participants: People)
     }
     
     private func unwrapStringColumn(for sqlStatement: OpaquePointer?, at column: Int32) -> String? {

    private func queryNewRecords() -> Double {
        let start = Date()
        defer { statement = nil }
        
        if sqlite3_prepare_v2(db, DatabaseHandler.newRecordquery, -1, &statement, nil) != SQLITE_OK {
            let errmsg = String(cString: sqlite3_errmsg(db)!)

            let associatedMessageType = sqlite3_column_int(statement, 9)
            let associatedMessageGUID = unwrapStringColumn(for: statement, at: 10)
            let guid = unwrapStringColumn(for: statement, at: 11)
            let destinationCallerId = unwrapStringColumn(for: statement, at: 12)
            NSLog("Processing \(rowID ?? "unknown")")
            
            querySinceID = rowID;
            
            if (senderHandleOptional == nil && isFromMe == true && roomName != nil) {
                senderHandleOptional = destinationCallerId
            }
            
            guard let senderHandle = senderHandleOptional, let text = textOptional, let destination = destinationOptional else {
                break
