     return IssueCommentReactionViewModel(models: models)
 }
 
-func createIssueRootCommentModel(
-    issue: IssueQuery.Data.Repository.Issue,
+func createCommentModel(
+    number: Int,
+    commentFields: CommentFields,
+    reactionFields: ReactionFields, 
     width: CGFloat
     ) -> IssueCommentModel? {
-    let commentFields = issue.fragments.commentFields
-
     guard let author = commentFields.author,
         let date = GithubAPIDateFormatter().date(from: commentFields.createdAt),
         let avatarURL = URL(string: author.avatarUrl)
         else { return nil }
 
     let details = IssueCommentDetailsViewModel(date: date, login: author.login, avatarURL: avatarURL)
-    let bodies = createCommentModels(body: issue.fragments.commentFields.body, width: width)
-    let reactions = createIssueReactions(reactions: issue.fragments.reactionFields)
+    let bodies = createCommentModels(body: commentFields.body, width: width)
+    let reactions = createIssueReactions(reactions: reactionFields)
     let collapse = IssueCollapsedBodies(bodies: bodies)
     return IssueCommentModel(
-        number: issue.number,
+        number: number,
         details: details,
         bodyModels: bodies,
         reactions: reactions,

    }
}

func createIssueTitleString(
    issue: IssueQuery.Data.Repository.Issue,
    width: CGFloat
    ) -> NSAttributedStringSizing {
    let attributedString = NSAttributedString(
        string: issue.title,
        attributes: [
            NSFontAttributeName: Styles.Fonts.headline,
            NSForegroundColorAttributeName: Styles.Colors.Gray.dark

    width: CGFloat
    ) -> [IGListDiffable] {
    var result = [IGListDiffable]()
    result.append(titleStringSizing(title: issue.title, width: width))

    let labels = issue.fragments.labelableFields.issueLabelModels
    result.append(IssueLabelsModel(labels: labels))

    if let root = createCommentModel(
        number: issue.number,
        commentFields: issue.fragments.commentFields,
        reactionFields: issue.fragments.reactionFields,
        width: width
        ) {
        result.append(root)
    }

