diff --git a/model/Conversation.js b/model/Conversation.js
index 09fb76f..98e21dd 100644
--- a/model/Conversation.js
+++ b/model/Conversation.js
@@ -29,15 +29,21 @@
         return this.getDisplayUri()
     }
 
-    getObject(params) {
+    getDisplayNameNoFallback() {
+        if (this.members.length !== 0) {
+            return this.members[0].contact.getDisplayNameNoFallback()
+        }
+    }
+
+    async getObject(params) {
         const members = params.memberFilter ? this.members.filter(params.memberFilter) : this.members
         return {
             id: this.id,
-            members: members.map(member => {
+            members: await Promise.all(members.map(async member => {
                 const copiedMember = { role: member.role }//Object.assign({}, member);
-                copiedMember.contact = member.contact.getObject()
+                copiedMember.contact = await member.contact.getObject()
                 return copiedMember
-            })
+            }))
         }
     }
 
