diff --git a/daemon.py b/daemon.py
index ea98c88e..9939641d 100644
--- a/daemon.py
+++ b/daemon.py
@@ -34,6 +34,7 @@ from posts import createPublicPost
 from posts import createUnlistedPost
 from posts import createFollowersOnlyPost
 from posts import createDirectMessagePost
+from posts import populateRepliesJson
 from inbox import inboxPermittedMessage
 from inbox import inboxMessageHasParams
 from inbox import runInboxQueue
@@ -916,57 +917,13 @@ class PubServer(BaseHTTPRequestHandler):
                                         'type': 'OrderedCollectionPage'}
 
                                     # populate the items list with replies
-                                    repliesBoxes=['outbox','inbox']
-                                    with open(postRepliesFilename,'r') as repliesFile: 
-                                        for messageId in repliesFile:
-                                            replyFound=False
-                                            # examine inbox and outbox
-                                            for boxname in repliesBoxes:
-                                                searchFilename= \
-                                                    self.server.baseDir+ \
-                                                    '/accounts/'+nickname+'@'+ \
-                                                    self.server.domain+'/'+ \
-                                                    boxname+'/'+ \
-                                                    messageId.replace('\n','').replace('/','#')+'.json'
-                                                if os.path.isfile(searchFilename):
-                                                    if authorized or \
-                                                       'https://www.w3.org/ns/activitystreams#Public' in open(searchFilename).read():
-                                                        with open(searchFilename, 'r') as fp:
-                                                            postJsonObject=commentjson.load(fp)
-                                                            if postJsonObject['object'].get('cc'):                                                            
-                                                                if authorized or \
-                                                                   ('https://www.w3.org/ns/activitystreams#Public' in postJsonObject['object']['to'] or \
-                                                                    'https://www.w3.org/ns/activitystreams#Public' in postJsonObject['object']['cc']):
-                                                                    repliesJson['orderedItems'].append(postJsonObject)
-                                                                    replyFound=True
-                                                            else:
-                                                                if authorized or \
-                                                                   'https://www.w3.org/ns/activitystreams#Public' in postJsonObject['object']['to']:
-                                                                    repliesJson['orderedItems'].append(postJsonObject)
-                                                                    replyFound=True
-                                                    break
-                                            # if not in either inbox or outbox then examine the shared inbox
-                                            if not replyFound:
-                                                searchFilename= \
-                                                    self.server.baseDir+ \
-                                                    '/accounts/inbox@'+ \
-                                                    self.server.domain+'/inbox/'+ \
-                                                    messageId.replace('\n','').replace('/','#')+'.json'
-                                                if os.path.isfile(searchFilename):
-                                                    if authorized or \
-                                                       'https://www.w3.org/ns/activitystreams#Public' in open(searchFilename).read():
-                                                        # get the json of the reply and append it to the collection
-                                                        with open(searchFilename, 'r') as fp:
-                                                            postJsonObject=commentjson.load(fp)
-                                                            if postJsonObject['object'].get('cc'):                                                            
-                                                                if authorized or \
-                                                                   ('https://www.w3.org/ns/activitystreams#Public' in postJsonObject['object']['to'] or \
-                                                                    'https://www.w3.org/ns/activitystreams#Public' in postJsonObject['object']['cc']):
-                                                                    repliesJson['orderedItems'].append(postJsonObject)
-                                                            else:
-                                                                if authorized or \
-                                                                   'https://www.w3.org/ns/activitystreams#Public' in postJsonObject['object']['to']:
-                                                                    repliesJson['orderedItems'].append(postJsonObject)
+                                    populateRepliesJson(self.server.baseDir, \
+                                                        nickname, \
+                                                        self.server.domain, \
+                                                        postRepliesFilename, \
+                                                        authorized, \
+                                                        repliesJson)
+
                                     # send the replies json
                                     if 'text/html' in self.headers['Accept']:
                                         if not self.server.session:
diff --git a/posts.py b/posts.py
index 01f079ca..c9ac2020 100644
--- a/posts.py
+++ b/posts.py
@@ -1482,3 +1482,57 @@ def sendCapabilitiesUpdate(session,baseDir: str,httpPrefix: str, \
                           federationList, \
                           sendThreads,postLog,cachedWebfingers, \
                           personCache,debug)
+
+def populateRepliesJson(baseDir: str,nickname: str,domain: str,postRepliesFilename: str,authorized: bool,repliesJson: {}) -> None:
+    # populate the items list with replies
+    repliesBoxes=['outbox','inbox']
+    with open(postRepliesFilename,'r') as repliesFile: 
+        for messageId in repliesFile:
+            replyFound=False
+            # examine inbox and outbox
+            for boxname in repliesBoxes:
+                searchFilename= \
+                    baseDir+ \
+                    '/accounts/'+nickname+'@'+ \
+                    domain+'/'+ \
+                    boxname+'/'+ \
+                    messageId.replace('\n','').replace('/','#')+'.json'
+                if os.path.isfile(searchFilename):
+                    if authorized or \
+                       'https://www.w3.org/ns/activitystreams#Public' in open(searchFilename).read():
+                        with open(searchFilename, 'r') as fp:
+                            postJsonObject=commentjson.load(fp)
+                            if postJsonObject['object'].get('cc'):                                                            
+                                if authorized or \
+                                   ('https://www.w3.org/ns/activitystreams#Public' in postJsonObject['object']['to'] or \
+                                    'https://www.w3.org/ns/activitystreams#Public' in postJsonObject['object']['cc']):
+                                    repliesJson['orderedItems'].append(postJsonObject)
+                                    replyFound=True
+                            else:
+                                if authorized or \
+                                   'https://www.w3.org/ns/activitystreams#Public' in postJsonObject['object']['to']:
+                                    repliesJson['orderedItems'].append(postJsonObject)
+                                    replyFound=True
+                    break
+            # if not in either inbox or outbox then examine the shared inbox
+            if not replyFound:
+                searchFilename= \
+                    baseDir+ \
+                    '/accounts/inbox@'+ \
+                    domain+'/inbox/'+ \
+                    messageId.replace('\n','').replace('/','#')+'.json'
+                if os.path.isfile(searchFilename):
+                    if authorized or \
+                       'https://www.w3.org/ns/activitystreams#Public' in open(searchFilename).read():
+                        # get the json of the reply and append it to the collection
+                        with open(searchFilename, 'r') as fp:
+                            postJsonObject=commentjson.load(fp)
+                            if postJsonObject['object'].get('cc'):                                                            
+                                if authorized or \
+                                   ('https://www.w3.org/ns/activitystreams#Public' in postJsonObject['object']['to'] or \
+                                    'https://www.w3.org/ns/activitystreams#Public' in postJsonObject['object']['cc']):
+                                    repliesJson['orderedItems'].append(postJsonObject)
+                            else:
+                                if authorized or \
+                                   'https://www.w3.org/ns/activitystreams#Public' in postJsonObject['object']['to']:
+                                    repliesJson['orderedItems'].append(postJsonObject)