diff --git a/daemon.py b/daemon.py
index cbead8a2..1fa4dcbe 100644
--- a/daemon.py
+++ b/daemon.py
@@ -23,6 +23,7 @@ from posts import outboxMessageCreateWrap
 from posts import savePostToBox
 from posts import sendToFollowers
 from posts import postIsAddressedToPublic
+from posts import sendToNamedAddresses
 from inbox import inboxPermittedMessage
 from inbox import inboxMessageHasParams
 from inbox import runInboxQueue
@@ -149,20 +150,33 @@ class PubServer(BaseHTTPRequestHandler):
             postId=messageJson['id']
         else:
             postId=None
-        if postIsAddressedToPublic(self.server.baseDir, \
-                                       messageJson):            
-            if self.server.debug:
-                print('DEBUG: saving c2s post to outbox')
-            savePostToBox(self.server.baseDir,postId, \
-                          self.postToNickname, \
-                          self.server.domain,messageJson,'outbox')
+        savePostToBox(self.server.baseDir,postId, \
+                      self.postToNickname, \
+                      self.server.domain,messageJson,'outbox')
         if self.server.debug:
             print('DEBUG: sending c2s post to followers')
         sendToFollowers(self.server.session,self.server.baseDir, \
-                        self.postToNickname,self.server.domain, \
-                        self.server.port,self.server.httpPrefix,
-                        messageJson)
-        # TODO send to individual named addresses
+                             self.postToNickname,self.server.domain, \
+                             self.server.port, \
+                             self.server.httpPrefix, \
+                             self.server.federationList, \
+                             self.server.sendThreads, \
+                             self.server.postLog, \
+                             self.server.cachedWebfingers, \
+                             self.server.personCache, \
+                             messageJson,self.server.debug)
+        if self.server.debug:
+            print('DEBUG: sending c2s post to named addresses')
+        sendToNamedAddresses(self.server.session,self.server.baseDir, \
+                             self.postToNickname,self.server.domain, \
+                             self.server.port, \
+                             self.server.httpPrefix, \
+                             self.server.federationList, \
+                             self.server.sendThreads, \
+                             self.server.postLog, \
+                             self.server.cachedWebfingers, \
+                             self.server.personCache, \
+                             messageJson,self.server.debug)
         return True
 
     def _updateInboxQueue(self,nickname: str,messageJson: {}) -> int:
diff --git a/posts.py b/posts.py
index 32030db3..77b71f86 100644
--- a/posts.py
+++ b/posts.py
@@ -765,9 +765,55 @@ def sendSignedJson(postJsonObject: {},session,baseDir: str, \
     thr.start()
     return 0
 
-def sendToFollowers(session,baseDir: str,
-                    nickname: str, domain: str, port: int,httpPrefix: str,
-                    postJsonObject: {}):
+def sendToNamedAddresses(session,baseDir: str, \
+                         nickname: str, domain: str, port: int, \
+                         httpPrefix: str,federationList: [], \
+                         sendThreads: [],postLog: [], \
+                         cachedWebfingers: {},personCache: {}, \
+                         postJsonObject: {},debug: bool) -> None:
+    """sends a post to the specific named addresses in to/cc
+    """
+    if port!=80 and port!=443:
+        domain=domain+':'+str(port)
+
+    if not postJsonObject.get('object'):
+        return False
+    if not postJsonObject['object'].get('to'):
+        return False
+
+    recipients=[]
+    recipientType=['to','cc']
+    for rType in recipientType:
+        for address in postJsonObject['object'][rType]:
+            if address.endswith('#Public'):
+                continue
+            if address.endswith('/followers'):
+                continue
+            recipients.append(address)
+    if not recipients:
+        return
+    clientToServer=False
+    for address in recipients:
+        toNickname=getNicknameFromActor(address)
+        if not toNickname:
+            continue
+        toDomain,toPort=getDomainFromActor(address)
+        if not toDomain:
+            continue
+        sendSignedJson(postJsonObject,session,baseDir, \
+                       nickname,domain,port, \
+                       toNickname,toDomain,toPort, \
+                       cc,httpPrefix,True,clientToServer, \
+                       federationList, \
+                       sendThreads,postLog,cachedWebfingers, \
+                       personCache,debug)
+
+def sendToFollowers(session,baseDir: str, \
+                    nickname: str, domain: str, port: int, \
+                    httpPrefix: str,federationList: [], \
+                    sendThreads: [],postLog: [], \
+                    cachedWebfingers: {},personCache: {}, \
+                    postJsonObject: {},debug: bool) -> None:
     """sends a post to the followers of the given nickname
     """
     if not postIsAddressedToFollowers(baseDir,nickname,domain, \
@@ -778,6 +824,8 @@ def sendToFollowers(session,baseDir: str,
     if not grouped:
         return
 
+    clientToServer=False
+
     # for each instance
     for followerDomain,followerHandles in grouped.items():
         toPort=port