diff --git a/Examples/xx-messenger/Sources/GroupsFeature/GroupsComponent.swift b/Examples/xx-messenger/Sources/GroupsFeature/GroupsComponent.swift
index 3594c3398691fbf8d0be7e0741a37baa12ac2dd5..a5f3077db275e5a9cf51d6a9ac34f670d9a0e0f4 100644
--- a/Examples/xx-messenger/Sources/GroupsFeature/GroupsComponent.swift
+++ b/Examples/xx-messenger/Sources/GroupsFeature/GroupsComponent.swift
@@ -40,7 +40,7 @@ public struct GroupsComponent: ReducerProtocol {
       case .start:
         return Effect
           .catching { try db() }
-          .flatMap { $0.fetchGroupsPublisher.callAsFunction(.init()) }
+          .flatMap { $0.fetchGroupsPublisher(.init()) }
           .assertNoFailure()
           .map(Action.didFetchGroups)
           .subscribe(on: bgQueue)
diff --git a/Examples/xx-messenger/Sources/GroupsFeature/GroupsView.swift b/Examples/xx-messenger/Sources/GroupsFeature/GroupsView.swift
index 847381f51ea018ca1b81e3654d7743b5a8011b0d..44c38ce99d8b1f418b896970c789f8aa8ac5e113 100644
--- a/Examples/xx-messenger/Sources/GroupsFeature/GroupsView.swift
+++ b/Examples/xx-messenger/Sources/GroupsFeature/GroupsView.swift
@@ -7,6 +7,7 @@ import XXModels
 
 public struct GroupsView: View {
   public typealias Component = GroupsComponent
+  typealias ViewStore = ComposableArchitecture.ViewStore<ViewState, Component.Action>
 
   public init(store: StoreOf<Component>) {
     self.store = store
@@ -15,22 +16,20 @@ public struct GroupsView: View {
   let store: StoreOf<Component>
 
   struct ViewState: Equatable {
-    init(state: Component.State) {}
+    init(state: Component.State) {
+      groups = state.groups
+    }
 
-    var groups: IdentifiedArrayOf<XXModels.Group> = []
+    var groups: IdentifiedArrayOf<XXModels.Group>
   }
 
   public var body: some View {
     WithViewStore(store, observe: ViewState.init) { viewStore in
       Form {
-        newGroupButton {
-          viewStore.send(.newGroupButtonTapped)
-        }
+        newGroupButton(viewStore)
 
         ForEach(viewStore.groups) { group in
-          groupView(group) {
-            viewStore.send(.didSelectGroup(group))
-          }
+          groupView(group, viewStore)
         }
       }
       .navigationTitle("Groups")
@@ -46,10 +45,10 @@ public struct GroupsView: View {
     }
   }
 
-  func newGroupButton(action: @escaping () -> Void) -> some View {
+  func newGroupButton(_ viewStore: ViewStore) -> some View {
     Section {
       Button {
-        action()
+        viewStore.send(.newGroupButtonTapped)
       } label: {
         HStack {
           Text("New Group")
@@ -60,13 +59,10 @@ public struct GroupsView: View {
     }
   }
 
-  func groupView(
-    _ group: XXModels.Group,
-    onSelect: @escaping () -> Void
-  ) -> some View {
+  func groupView(_ group: XXModels.Group, _ viewStore: ViewStore) -> some View {
     Section {
       Button {
-        onSelect()
+        viewStore.send(.didSelectGroup(group))
       } label: {
         HStack {
           Label(group.name, systemImage: "person.3")
@@ -75,8 +71,8 @@ public struct GroupsView: View {
           Spacer()
           Image(systemName: "chevron.forward")
         }
-        GroupAuthStatusView(group.authStatus)
       }
+      GroupAuthStatusView(group.authStatus)
     }
   }
 }