diff --git a/Sources/ContactListFeature/Controllers/ContactListTableController.swift b/Sources/ContactListFeature/Controllers/ContactListTableController.swift
index f940366ae08cfe77f9cd54e5d1008a55b7149bc6..ac7a06628045f199393f1839e2a6f700a7cb194e 100644
--- a/Sources/ContactListFeature/Controllers/ContactListTableController.swift
+++ b/Sources/ContactListFeature/Controllers/ContactListTableController.swift
@@ -30,7 +30,7 @@ final class ContactListTableController: UITableViewController {
 
     private func setupTableView() {
         tableView.separatorStyle = .none
-        tableView.register(SmallAvatarAndTitleCell.self)
+        tableView.register(AvatarCell.self)
         tableView.backgroundColor = Asset.neutralWhite.color
         tableView.sectionIndexColor = Asset.neutralDark.color
         tableView.contentInset = UIEdgeInsets(top: -20, left: 0, bottom: 0, right: 0)
@@ -45,11 +45,11 @@ final class ContactListTableController: UITableViewController {
     }
 
     override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
-        let cell: SmallAvatarAndTitleCell = tableView.dequeueReusableCell(forIndexPath: indexPath)
+        let cell: AvatarCell = tableView.dequeueReusableCell(forIndexPath: indexPath)
         let contact = sections[indexPath.section][indexPath.row]
         let name = (contact.nickname ?? contact.username) ?? "Fetching username..."
-        cell.titleLabel.text = name
-        cell.avatarView.setupProfile(title: name, image: contact.photo, size: .medium)
+
+        cell.setup(title: name, image: contact.photo)
         return cell
     }
 
diff --git a/Sources/ContactListFeature/Controllers/CreateGroupController.swift b/Sources/ContactListFeature/Controllers/CreateGroupController.swift
index 9e9d039dd5e5fe2dd4adfa179fc736ab51fa6c4b..c2944d3a749bac28a690c0b1aab7221fb7291699 100644
--- a/Sources/ContactListFeature/Controllers/CreateGroupController.swift
+++ b/Sources/ContactListFeature/Controllers/CreateGroupController.swift
@@ -66,7 +66,7 @@ public final class CreateGroupController: UIViewController {
 
     private func setupTableAndCollection() {
         screenView.tableView.rowHeight = 64.0
-        screenView.tableView.register(SmallAvatarAndTitleCell.self)
+        screenView.tableView.register(AvatarCell.self)
         screenView.collectionView.register(CreateGroupCollectionCell.self)
 
         collectionDataSource = UICollectionViewDiffableDataSource<SectionId, Contact>(
@@ -84,10 +84,10 @@ public final class CreateGroupController: UIViewController {
         tableDataSource = DiffEditableDataSource<SectionId, Contact>(
             tableView: screenView.tableView
         ) { [weak self] tableView, indexPath, contact in
-            let cell = tableView.dequeueReusableCell(forIndexPath: indexPath, ofType: SmallAvatarAndTitleCell.self)
+            let cell = tableView.dequeueReusableCell(forIndexPath: indexPath, ofType: AvatarCell.self)
             let title = (contact.nickname ?? contact.username) ?? ""
-            cell.titleLabel.text = title
-            cell.avatarView.setupProfile(title: title, image: contact.photo, size: .medium)
+
+            cell.setup(title: title, image: contact.photo)
 
             if let selectedElements = self?.selectedElements, selectedElements.contains(contact) {
                 tableView.selectRow(at: indexPath, animated: true, scrollPosition: .none)
diff --git a/Sources/SearchFeature/Controllers/SearchUsernameController.swift b/Sources/SearchFeature/Controllers/SearchUsernameController.swift
index 33da386f21ab65f429f0f3d0d30691e0efc118ae..d40aac049fa9af53e0d67ea160ec1b7d0f91b309 100644
--- a/Sources/SearchFeature/Controllers/SearchUsernameController.swift
+++ b/Sources/SearchFeature/Controllers/SearchUsernameController.swift
@@ -38,7 +38,7 @@ final class SearchUsernameController: UIViewController {
     private func setupTableView() {
         screenView.tableView.separatorStyle = .none
         screenView.tableView.tableFooterView = UIView()
-        screenView.tableView.register(SmallAvatarAndTitleCell.self)
+        screenView.tableView.register(AvatarCell.self)
         screenView.tableView.dataSource = dataSource
         screenView.tableView.delegate = self
 
@@ -46,7 +46,7 @@ final class SearchUsernameController: UIViewController {
             tableView: screenView.tableView
         ) { tableView, indexPath, item in
             let contact: Contact
-            let cell = tableView.dequeueReusableCell(forIndexPath: indexPath, ofType: SmallAvatarAndTitleCell.self)
+            let cell = tableView.dequeueReusableCell(forIndexPath: indexPath, ofType: AvatarCell.self)
 
             switch item {
             case .stranger(let stranger):
@@ -56,8 +56,15 @@ final class SearchUsernameController: UIViewController {
             }
 
             let title = (contact.nickname ?? contact.username) ?? ""
-            cell.titleLabel.text = title
-            cell.avatarView.setupProfile(title: title, image: contact.photo, size: .medium)
+
+            cell.setup(
+                title: title,
+                image: contact.photo,
+                firstSubtitle: contact.username,
+                secondSubtitle: contact.email,
+                thirdSubtitle: contact.phone,
+                showSeparator: false
+            )
             return cell
         }
     }
diff --git a/Sources/SearchFeature/Views/SearchUsernameView.swift b/Sources/SearchFeature/Views/SearchUsernameView.swift
index 1783ec3ca4b9feb8ea797d41d2bacc2f98389f0c..4e60479d0cd75f75e46847a94ce2cb0984007b60 100644
--- a/Sources/SearchFeature/Views/SearchUsernameView.swift
+++ b/Sources/SearchFeature/Views/SearchUsernameView.swift
@@ -31,7 +31,7 @@ final class SearchUsernameView: UIView {
         }
 
         tableView.snp.makeConstraints {
-            $0.top.equalTo(inputField.snp.bottom)
+            $0.top.equalTo(inputField.snp.bottom).offset(20)
             $0.left.equalToSuperview()
             $0.right.equalToSuperview()
             $0.bottom.equalToSuperview()
diff --git a/Sources/Shared/Views/AvatarCell.swift b/Sources/Shared/Views/AvatarCell.swift
new file mode 100644
index 0000000000000000000000000000000000000000..c76721a45697906b5c915fed72a867139a1efcc8
--- /dev/null
+++ b/Sources/Shared/Views/AvatarCell.swift
@@ -0,0 +1,116 @@
+import UIKit
+
+public final class AvatarCell: UITableViewCell {
+    let h1Label = UILabel()
+    let h2Label = UILabel()
+    let h3Label = UILabel()
+    let h4Label = UILabel()
+    let separatorView = UIView()
+    let avatarView = AvatarView()
+    let stackView = UIStackView()
+
+    public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
+        super.init(style: style, reuseIdentifier: reuseIdentifier)
+
+        selectedBackgroundView = UIView()
+        multipleSelectionBackgroundView = UIView()
+        backgroundColor = Asset.neutralWhite.color
+
+        h1Label.textColor = Asset.neutralActive.color
+        h2Label.textColor = Asset.neutralSecondaryAlternative.color
+        h3Label.textColor = Asset.neutralSecondaryAlternative.color
+        h4Label.textColor = Asset.neutralSecondaryAlternative.color
+
+        h1Label.font = Fonts.Mulish.semiBold.font(size: 14.0)
+        h2Label.font = Fonts.Mulish.regular.font(size: 14.0)
+        h3Label.font = Fonts.Mulish.regular.font(size: 14.0)
+        h4Label.font = Fonts.Mulish.regular.font(size: 14.0)
+
+        stackView.spacing = 4
+        stackView.axis = .vertical
+        
+        stackView.addArrangedSubview(h1Label)
+        stackView.addArrangedSubview(h2Label)
+        stackView.addArrangedSubview(h3Label)
+        stackView.addArrangedSubview(h4Label)
+
+        separatorView.backgroundColor = Asset.neutralLine.color
+
+        contentView.addSubview(stackView)
+        contentView.addSubview(avatarView)
+        contentView.addSubview(separatorView)
+
+        setupConstraints()
+    }
+
+    required init?(coder: NSCoder) { nil }
+
+    public override func prepareForReuse() {
+        super.prepareForReuse()
+        h1Label.text = nil
+        h2Label.text = nil
+        h3Label.text = nil
+        h4Label.text = nil
+
+        avatarView.prepareForReuse()
+    }
+
+    public func setup(
+        title: String,
+        image: Data?,
+        firstSubtitle: String? = nil,
+        secondSubtitle: String? = nil,
+        thirdSubtitle: String? = nil,
+        showSeparator: Bool = true
+    ) {
+        h1Label.text = title
+
+        if let firstSubtitle = firstSubtitle {
+            h2Label.isHidden = false
+            h2Label.text = firstSubtitle
+        } else {
+            h2Label.isHidden = true
+        }
+
+        if let secondSubtitle = secondSubtitle {
+            h3Label.isHidden = false
+            h3Label.text = secondSubtitle
+        } else {
+            h3Label.isHidden = true
+        }
+
+        if let thirdSubtitle = thirdSubtitle {
+            h4Label.isHidden = false
+            h4Label.text = thirdSubtitle
+        } else {
+            h4Label.isHidden = true
+        }
+
+        avatarView.setupProfile(title: title, image: image, size: .medium)
+        separatorView.alpha = showSeparator ? 1.0 : 0.0
+    }
+
+    private func setupConstraints() {
+        avatarView.snp.makeConstraints {
+            $0.width.height.equalTo(36)
+            $0.left.equalToSuperview().offset(27)
+            $0.centerY.equalToSuperview()
+        }
+
+        stackView.snp.makeConstraints {
+            $0.top.equalTo(avatarView)
+            $0.left.equalTo(avatarView.snp.right).offset(14)
+            $0.right.lessThanOrEqualToSuperview().offset(-10)
+            $0.bottom.greaterThanOrEqualTo(avatarView)
+            $0.bottom.lessThanOrEqualToSuperview()
+        }
+
+        separatorView.snp.makeConstraints {
+            $0.height.equalTo(1)
+            $0.top.greaterThanOrEqualTo(stackView.snp.bottom).offset(10)
+            $0.left.equalToSuperview().offset(25)
+            $0.right.equalToSuperview()
+            $0.bottom.equalToSuperview()
+        }
+    }
+}
diff --git a/Sources/Shared/Views/SmallAvatarAndTitleCell.swift b/Sources/Shared/Views/SmallAvatarAndTitleCell.swift
deleted file mode 100644
index 4c37a96467729da2f4234ad646287a6127455f63..0000000000000000000000000000000000000000
--- a/Sources/Shared/Views/SmallAvatarAndTitleCell.swift
+++ /dev/null
@@ -1,50 +0,0 @@
-import UIKit
-
-public final class SmallAvatarAndTitleCell: UITableViewCell {
-    let separatorView = UIView()
-    public let titleLabel = UILabel()
-    public let avatarView = AvatarView()
-
-    public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
-        super.init(style: style, reuseIdentifier: reuseIdentifier)
-
-        selectedBackgroundView = UIView()
-        multipleSelectionBackgroundView = UIView()
-        backgroundColor = Asset.neutralWhite.color
-
-        titleLabel.textColor = Asset.neutralActive.color
-        titleLabel.font = Fonts.Mulish.semiBold.font(size: 14.0)
-        separatorView.backgroundColor = Asset.neutralLine.color
-
-        contentView.addSubview(titleLabel)
-        contentView.addSubview(avatarView)
-        contentView.addSubview(separatorView)
-
-        avatarView.snp.makeConstraints {
-            $0.width.height.equalTo(36)
-            $0.left.equalToSuperview().offset(27)
-            $0.centerY.equalToSuperview()
-        }
-
-        titleLabel.snp.makeConstraints {
-            $0.centerY.equalTo(avatarView)
-            $0.left.equalTo(avatarView.snp.right).offset(14)
-            $0.right.lessThanOrEqualToSuperview().offset(-10)
-        }
-
-        separatorView.snp.makeConstraints {
-            $0.height.equalTo(1)
-            $0.left.equalToSuperview().offset(25)
-            $0.right.equalToSuperview()
-            $0.bottom.equalToSuperview()
-        }
-    }
-
-    required init?(coder: NSCoder) { nil }
-
-    public override func prepareForReuse() {
-        super.prepareForReuse()
-        titleLabel.text = nil
-        avatarView.prepareForReuse()
-    }
-}