 
     override func setup() {
         addSubview(stackView)
+        stackView.addArrangedSubview(disclosureHorizontalStack)
+
+        disclosureHorizontalStack.addArrangedSubview(subscribeButton)
+        disclosureHorizontalStack.addArrangedSubview(disclosureCenterSpacer)
+        disclosureHorizontalStack.addArrangedSubview(disclosureButton)
+
         stackView.addArrangedSubview(topicTitleTextView)
-        stackView.addArrangedSubview(horizontalStack)
+        stackView.addArrangedSubview(metadataHorizontalStack)
         stackView.addArrangedSubview(topicCommentTextView)
 
         activeUsersStack.addArrangedSubview(activeUsersImageView)

        repliesStack.addArrangedSubview(repliesImageView)
        repliesStack.addArrangedSubview(repliesCountLabel)

        horizontalStack.addArrangedSubview(timestampLabel)
        horizontalStack.addArrangedSubview(centerSpacer)
        horizontalStack.addArrangedSubview(activeUsersStack)
        horizontalStack.addArrangedSubview(metadataSpacer)
        horizontalStack.addArrangedSubview(repliesStack)

        NSLayoutConstraint.activate([
            stackView.topAnchor.constraint(equalTo: topAnchor, constant: 8),
            stackView.leadingAnchor.constraint(equalTo: leadingAnchor),
            stackView.trailingAnchor.constraint(equalTo: trailingAnchor),
            stackView.bottomAnchor.constraint(equalTo: bottomAnchor)


    func configure(viewModel: TalkPageCellViewModel) {
        self.viewModel = viewModel

        configureDisclosureRow(isUserLoggedIn: viewModel.isUserLoggedIn)

        disclosureButton.setImage(viewModel.isThreadExpanded ? UIImage(systemName: "chevron.up") : UIImage(systemName: "chevron.down"), for: .normal)

        let talkPageTopicSubscribe = WMFLocalizedString("talk-page-subscribe-to-topic", value: "Subscribe", comment: "Text used on button to subscribe to talk page topic.")
        let talkPageTopicUnsubscribe = WMFLocalizedString("talk-page-unsubscribe-to-topic", value: "Unsubscribe", comment: "Text used on button to unsubscribe from talk page topic.")

        subscribeButton.setTitle(viewModel.isSubscribed ? talkPageTopicUnsubscribe : talkPageTopicSubscribe , for: .normal)
        subscribeButton.setImage(viewModel.isSubscribed ? UIImage(systemName: "bell.fill") : UIImage(systemName: "bell"), for: .normal)
        
        topicTitleTextView.invalidateIntrinsicContentSize()
        topicTitleTextView.textContainer.maximumNumberOfLines = viewModel.isThreadExpanded ? 0 : 2
