diff --git a/xxclient/src/main/java/io/elixxir/xxclient/group/Group.kt b/xxclient/src/main/java/io/elixxir/xxclient/group/Group.kt
index a174b490375670dc740ce7ca0dd74daa1cb9c565..ebbf0aea1d0ba2b2268490717ce597bf147aa550 100644
--- a/xxclient/src/main/java/io/elixxir/xxclient/group/Group.kt
+++ b/xxclient/src/main/java/io/elixxir/xxclient/group/Group.kt
@@ -1,7 +1,7 @@
 package io.elixxir.xxclient.group
 
-import io.elixxir.xxclient.models.BindingsModel.Companion.decodeArray
-import io.elixxir.xxclient.models.GroupMember
+import io.elixxir.xxclient.models.BindingsModel.Companion.decode
+import io.elixxir.xxclient.models.GroupMembersList
 import bindings.Group as GroupBindings
 
 interface Group {
@@ -9,7 +9,7 @@ interface Group {
     val createdNano: Long
     val id: ByteArray
     val initMessage: ByteArray
-    val membership: List<GroupMember>
+    val membership: GroupMembersList
     val name: ByteArray
     val serialize: ByteArray
 }
@@ -25,11 +25,10 @@ open class GroupAdapter(
         get() = group.id
     override val initMessage: ByteArray
         get() = group.initMessage
-    override val membership: List<GroupMember>
-        get() = decodeArray(group.membership)
+    override val membership: GroupMembersList
+        get() = decode(group.membership) ?: GroupMembersList(listOf())
     override val name: ByteArray
         get() = group.name
-    override val serialize: ByteArray
-        get() = group.serialize()
+    override val serialize: ByteArray by lazy { group.serialize() }
 }
 
diff --git a/xxclient/src/main/java/io/elixxir/xxclient/models/GroupMember.kt b/xxclient/src/main/java/io/elixxir/xxclient/models/GroupMember.kt
index 153fea7ace518d2a438a7787b123ed8e277cf540..5a834b3beaa9a899d22c89a7a6a37d026a0a1b48 100644
--- a/xxclient/src/main/java/io/elixxir/xxclient/models/GroupMember.kt
+++ b/xxclient/src/main/java/io/elixxir/xxclient/models/GroupMember.kt
@@ -1,12 +1,22 @@
 package io.elixxir.xxclient.models
 
+import com.google.gson.annotations.SerializedName
+
+data class GroupMembersList(
+    val members: List<GroupMember>
+) : BindingsModel
 
 data class GroupMember(
+    @SerializedName("ID")
     val id: ByteArray,
+    @SerializedName("DHKey")
     val dhKey: DHKey
-) : BindingsModel
+) : BindingsModel {
 
-data class DHKey(
-    val value: String,
-    val fingerprint: Int
-) : BindingsModel
\ No newline at end of file
+    data class DHKey(
+        @SerializedName("Value")
+        val value: String,
+        @SerializedName("Fingerprint")
+        val fingerprint: Int
+    ) : BindingsModel
+}
\ No newline at end of file