diff --git a/Package.swift b/Package.swift
index b8f43d824ae319c2f02e73dbdc273420c745b043..87d07c65d6a04fa2c353e2e1c914a0bc1db1453c 100644
--- a/Package.swift
+++ b/Package.swift
@@ -519,7 +519,8 @@ let package = Package(
             dependencies: [
                 .target(name: "Theme"),
                 .target(name: "Shared"),
-                .target(name: "Defaults")
+                .target(name: "Defaults"),
+                .target(name: "Presentation"),
             ]
         ),
         .target(
diff --git a/Sources/ChatListFeature/ViewModel/ChatListViewModel.swift b/Sources/ChatListFeature/ViewModel/ChatListViewModel.swift
index efd5e463132d368e51255f3e52f346e9b602d018..470e9cf33f728211be5c5f9dae5d9bca9647ac5f 100644
--- a/Sources/ChatListFeature/ViewModel/ChatListViewModel.swift
+++ b/Sources/ChatListFeature/ViewModel/ChatListViewModel.swift
@@ -37,7 +37,8 @@ final class ChatListViewModel {
     }
 
     var recentsPublisher: AnyPublisher<RecentsSnapshot, Never> {
-        session.dbManager.fetchContactsPublisher(.init(isRecent: true))
+        let query = Contact.Query(isRecent: true, isBlocked: false, isBanned: false)
+        return session.dbManager.fetchContactsPublisher(query)
             .assertNoFailure()
             .map {
             let section = SectionId()
@@ -49,8 +50,10 @@ final class ChatListViewModel {
     }
 
     var searchPublisher: AnyPublisher<SearchSnapshot, Never> {
-        Publishers.CombineLatest3(
-            session.dbManager.fetchContactsPublisher(.init()).assertNoFailure(),
+        let contactsQuery = Contact.Query(isBlocked: false, isBanned: false)
+
+        return Publishers.CombineLatest3(
+            session.dbManager.fetchContactsPublisher(contactsQuery).assertNoFailure(),
             chatsPublisher,
             searchSubject
                 .removeDuplicates()
diff --git a/Sources/ContactFeature/Controllers/ContactController.swift b/Sources/ContactFeature/Controllers/ContactController.swift
index c583654e08d1ec4ae54180a8f8dc6079c6aee9c6..30dd3f5e48444176c274a0f6f18502b12e172c17 100644
--- a/Sources/ContactFeature/Controllers/ContactController.swift
+++ b/Sources/ContactFeature/Controllers/ContactController.swift
@@ -33,7 +33,10 @@ public final class ContactController: UIViewController {
         navigationItem.backButtonTitle = ""
         statusBarController.style.send(.lightContent)
         navigationController?.navigationBar
-            .customize(backgroundColor: Asset.neutralBody.color)
+            .customize(
+                backgroundColor: Asset.neutralBody.color,
+                tint: Asset.neutralWhite.color
+            )
     }
 
     public override func viewSafeAreaInsetsDidChange() {
diff --git a/Sources/Shared/AutoGenerated/Strings.swift b/Sources/Shared/AutoGenerated/Strings.swift
index ee37eb4897d93ee82474119c917b6e770f74b35d..d289e0c6a27af74192fa4d3cda95a2bf32b11ba7 100644
--- a/Sources/Shared/AutoGenerated/Strings.swift
+++ b/Sources/Shared/AutoGenerated/Strings.swift
@@ -358,7 +358,7 @@ public enum Localized {
       public static let action = Localized.tr("Localizable", "chat.report.action")
       /// Cancel
       public static let cancel = Localized.tr("Localizable", "chat.report.cancel")
-      /// Reporting this user will block them, delete them from your connections and you won’t see direct messages from them again. In case this user is marked as banned user by us you won’t also see any new group chat msgs from this user
+      /// Reporting this user will block them, delete them from your connections and you won’t see direct messages from them again. In case this user is marked as banned user by us you also won’t see any new group chat messages from this user
       public static let subtitle = Localized.tr("Localizable", "chat.report.subtitle")
       /// Report user
       public static let title = Localized.tr("Localizable", "chat.report.title")
@@ -497,11 +497,11 @@ public enum Localized {
         public static func description(_ p1: Any) -> String {
           return Localized.tr("Localizable", "contact.delete.drawer.description", String(describing: p1))
         }
-        /// Delete Connection?
+        /// Delete and block connection?
         public static let title = Localized.tr("Localizable", "contact.delete.drawer.title")
       }
       public enum Info {
-        /// Delete Connection
+        /// Delete and block connection
         public static let title = Localized.tr("Localizable", "contact.delete.info.title")
       }
     }
diff --git a/Sources/Shared/Resources/en.lproj/Localizable.strings b/Sources/Shared/Resources/en.lproj/Localizable.strings
index 5d910155c0920d7008a3341664198240109337e5..91c5cfb70709bcd69c6d9f336a472fb6f4a04929 100644
--- a/Sources/Shared/Resources/en.lproj/Localizable.strings
+++ b/Sources/Shared/Resources/en.lproj/Localizable.strings
@@ -183,7 +183,7 @@
 "chat.report.title"
 = "Report user";
 "chat.report.subtitle"
-= "Reporting this user will block them, delete them from your connections and you won’t see direct messages from them again. In case this user is marked as banned user by us you won’t also see any new group chat msgs from this user";
+= "Reporting this user will block them, delete them from your connections and you won’t see direct messages from them again. In case this user is marked as banned user by us you also won’t see any new group chat messages from this user";
 "chat.report.action"
 = "Confirm and Report";
 "chat.report.cancel"
@@ -258,9 +258,9 @@
 // ContactFeature - Delete
 
 "contact.delete.info.title"
-= "Delete Connection";
+= "Delete and block connection";
 "contact.delete.drawer.title"
-= "Delete Connection?";
+= "Delete and block connection?";
 "contact.delete.drawer.description"
 = "This is a silent deletion, %@ will not know you deleted them. This action will remove all information on your phone about this user, including your communications. You #cannot undo this step, and cannot re-add them unless they delete you as a connection as well.#";
 
diff --git a/Sources/TermsFeature/TermsConditionsController.swift b/Sources/TermsFeature/TermsConditionsController.swift
index 34a3a1be6bf707ed3fef5aa6a94ecdea7a8c23a7..7f7893e351603ca0cc1c219222bce4aa5e8a0145 100644
--- a/Sources/TermsFeature/TermsConditionsController.swift
+++ b/Sources/TermsFeature/TermsConditionsController.swift
@@ -44,6 +44,7 @@ public final class TermsConditionsController: UIViewController {
             .sink { [unowned self] in
                 screenView.radioComponent.isEnabled.toggle()
                 screenView.nextButton.isEnabled = screenView.radioComponent.isEnabled
+                UIImpactFeedbackGenerator(style: .heavy).impactOccurred()
             }.store(in: &cancellables)
 
         screenView.nextButton