diff --git a/process/Address_lib/process.js b/process/Address_lib/process.js
index d1a52330e8fe3d954177ceac9b77440b70d3ae4b..03a36d8112a60a7ee76b1939cd5fcf0ab6067c12 100644
--- a/process/Address_lib/process.js
+++ b/process/Address_lib/process.js
@@ -10,6 +10,8 @@ import("Sql_lib");
 import("Util_lib");
 import("DocumentTemplate_lib");
 
+
+// TODO: muss überarbeitet werden / evtl neu gemacht werden
 /*
 * Creates a Address Object
 * 
@@ -240,6 +242,7 @@ function fetchAddressData( pCondition, pConfig, AddressID, pPerson )
         }
         data = [ data, output, header, addrfields ];
     }
+    logging.log(data.toSource());
     return data;
 }
 
diff --git a/process/DataPrivacy_lib/process.js b/process/DataPrivacy_lib/process.js
index 15d99fb1f8b377835429752c256ac5c55e293bf0..515c129f0ecbab4bb215fd8ec65fce5a3e1e25b9 100644
--- a/process/DataPrivacy_lib/process.js
+++ b/process/DataPrivacy_lib/process.js
@@ -1,3 +1,5 @@
+import("Util_lib");
+import("PostalAddress_lib");
 import("system.text");
 import("system.question");
 import("Attribute_lib");
@@ -115,77 +117,56 @@ DataPrivacyType.get = function(pKey)
     
     function _getAddress(pContactId, pAddressId) 
     {
-        var addrIds
+        // TODO: update and fix Address_lib and use it (and remove format-functions in PostalAddress_lib)
+        
+        var entityConfig = entities.createConfigForLoadingRows()
+                                   .entity("Address_entity")
+                                   .fields(["ADDRESSID", "ADDRESS", "ADDRESSADDITION", "ADDRIDENTIFIER", "BUILDINGNO", "ZIP", "CITY", "COUNTRY", "DISTRICT", "REGION", "STATE"]);
+
         if (pAddressId)
         {
-            addrIds = [{
-                ADDRESSID: pAddressId
-            }]
+            entityConfig.uid(pAddressId);
         }
         else
         {
-             var entityConfig = entities.createConfigForLoadingRows()
-                                   .entity("Address_entity")
-                                   .provider("ContactAddresses")
-                                   .addParameter("ContactId_param", pContactId)
-                                   .fields(["ADDRESSID"]);
-            addrIds = entities.getRows(entityConfig);
-        
-        }
-       
-        
-        
-        // Todo: Address_lib doesn't use loadEntity...
-        for (addrId in addrIds)
-        {
-            addrId = addrId.ADDRESSID
-            var addrobj = new AddrObject(pContactId, true, addrId);
-        
-            var addr = addrobj.getFormattedAddress(false);
-            logging.log(JSON.stringify(addr, null, "\t"))
-        }
-        
-        
-       // if (addr != "Err.")
+            entityConfig.provider("ContactAddresses")
+                        .addParameter("ContactId_param", pContactId);
             
+        }        
         
-    /*
-        var addrData = db.table(SqlCondition.begin()
-                        .andPrepareIfSet("ADDRESS.ADDRESSID", pAddressId)
-                        .andPrepareIfSet("ADDRESS.CONTACT_ID", pContactId)
-                        .buildSql("select ADDRESSID, ADDRESS, ADDRESSADDITION, ADDRIDENTIFIER, "
-                            + "BUILDINGNO, CITY, COUNTRY, DISTRICT, REGION, STATE, ZIP, ADDR_TYPE " 
-                            + "from ADDRESS", "1 = 0"));
-*/
-        return addrData.map(function(pAddr)
-        {
-            // TODO Addresse formatieren
-            var addrVal = "";
-            pAddr.slice(1).forEach(function(entry)
-            {
-                addrVal += entry + " ";
-            });
+        var addrData = entities.getRows(entityConfig).map(function(addr) {
+            var addrVal = StringUtils.concat(", ", [addr.ADDRESS, addr.ADDRESSADDITION, addr.ADDRIDENTIFIER, addr.BUILDINGNO, addr.ZIP, addr.CITY, addr.COUNTRY, addr.DISTRICT, addr.REGION, addr.STATE]);
+
             return {
                 value: addrVal,
-                id: pAddr[0]
-            }
+                id: addr.ADDRESSID
+            };
         });
+        
+        return addrData;
     }
     
     function _getCommunication(pContactId, pCommunicationId) 
     {
-        // TODO: with loadEntity
-        var commData = db.table(SqlCondition.begin()
-                    .andPrepareIfSet("COMMUNICATION.COMMUNICATIONID", pCommunicationId)
-                    .andPrepareIfSet("COMMUNICATION.CONTACT_ID", pContactId)
-                    .buildSql("select COMMUNICATIONID, ADDR from COMMUNICATION ", "1 = 0"));
+        var entityConfig = entities.createConfigForLoadingRows()
+                                   .entity("Communication_entity")
+                                   .fields(["COMMUNICATIONID", "ADDR"]);
 
-                
-        return commData.map(function(pComm)
+        if (pCommunicationId)
+        {
+            entityConfig.uid(pCommunicationId);
+        }
+        else
+        {
+            entityConfig.provider("AllCommunications")
+                        .addParameter("ContactId_param", pContactId);
+        }
+        
+        return entities.getRows(entityConfig).map(function(pComm)
         {
             return {
-                value: pComm[1],
-                id: pComm[0]
+                value: pComm.ADDR,
+                id: pComm.COMMUNICATIONID
             }
         });
     }