diff --git a/entity/AddressValidation_entity/AddressValidation_entity.aod b/entity/AddressValidation_entity/AddressValidation_entity.aod
index 7544eed7e3dd659abfe35d84649d86dca1488846..90c7e6edcbb75846dde3ce3580f4c29cde8798f4 100644
--- a/entity/AddressValidation_entity/AddressValidation_entity.aod
+++ b/entity/AddressValidation_entity/AddressValidation_entity.aod
@@ -134,6 +134,7 @@
       <jDitoRecordAlias></jDitoRecordAlias>
       <isFilterable v="true" />
       <isRequireContainerFiltering v="true" />
+      <isSortable v="true" />
       <contentProcess>%aditoprj%/entity/AddressValidation_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
       <recordFieldMappings>
         <jDitoRecordFieldMapping>
diff --git a/entity/AddressValidation_entity/entityfields/cityvalidation/children/type_param/valueProcess.js b/entity/AddressValidation_entity/entityfields/cityvalidation/children/type_param/valueProcess.js
index 084f00d1815908c3c4241fc03c680834e03fc8d5..e8560045975cb9faf78db1adaa945d7db5a940fe 100644
--- a/entity/AddressValidation_entity/entityfields/cityvalidation/children/type_param/valueProcess.js
+++ b/entity/AddressValidation_entity/entityfields/cityvalidation/children/type_param/valueProcess.js
@@ -1,4 +1,4 @@
-import("WsValidation_lib");
-import("system.result");
-
-result.string(WsValidationType.get().TYPE_CITY.key);
\ No newline at end of file
+import("WsValidation_lib");
+import("system.result");
+
+result.string(WsValidationType.get().TYPE_CITY_NOMINATIM.key);
\ No newline at end of file
diff --git a/entity/AddressValidation_entity/entityfields/zipvalidaton/children/type_param/valueProcess.js b/entity/AddressValidation_entity/entityfields/zipvalidaton/children/type_param/valueProcess.js
index 93426dc98cda1bfc555d22dcbac1929ad4872919..6ab3539198339ca785870777ce0642f0c4e6ba9f 100644
--- a/entity/AddressValidation_entity/entityfields/zipvalidaton/children/type_param/valueProcess.js
+++ b/entity/AddressValidation_entity/entityfields/zipvalidaton/children/type_param/valueProcess.js
@@ -1,4 +1,4 @@
-import("WsValidation_lib");
-import("system.result");
-
-result.string(WsValidationType.get().TYPE_ZIP.key);
\ No newline at end of file
+import("WsValidation_lib");
+import("system.result");
+
+result.string(WsValidationType.get().TYPE_ZIP_NOMINATIM.key);
\ No newline at end of file
diff --git a/process/WsValidation_lib/process.js b/process/WsValidation_lib/process.js
index 72d857ec82db15668be374d88987a95d8da4c165..0f34bcf034364414e9877eb649cb7608060926e7 100644
--- a/process/WsValidation_lib/process.js
+++ b/process/WsValidation_lib/process.js
@@ -40,9 +40,8 @@ WsValidationType.get = function(pKey)
         this._cache = {
             // Address lookups
             TYPE_ADDRESS_NOMINATIM: new WsValidationType("TYPE_ADDRESS_NOMINATIM", "nominatim", _processNominatimAddressLookup, _nominatimRequest, "q"),
-            TYPE_ADDRESS: new WsValidationType("TYPE_ADDRESS", "addressValidation", _processAllAddressLookup, _customRequest, "search"),
-            TYPE_ZIP: new WsValidationType("TYPE_ZIP", "zipCityValidation", _processAddressLookup, _customRequest, "zip"),
-            TYPE_CITY: new WsValidationType("TYPE_CITY", "zipCityValidation", _processAddressLookup, _customRequest, "city"),
+            TYPE_ZIP_NOMINATIM: new WsValidationType("TYPE_ZIP_NOMINATIM", "nominatim", _processNominatimAddressLookup, _nominatimRequest, "postalcode"),
+            TYPE_CITY_NOMINATIM: new WsValidationType("TYPE_CITY_NOMINATIM", "nominatim", _processNominatimAddressLookup, _nominatimRequest, "city"),
             
             // Communication validation
             TYPE_PHONE: new WsValidationType("TYPE_PHONE", "phoneValidation", _processCommunicationValidation, _customRequest, "Number")
@@ -53,104 +52,6 @@ WsValidationType.get = function(pKey)
     
     return this._cache;
     
-    /**
-    *   [UID,
-    *    displayName,
-    *    zip,
-    *    city,
-    *    cityext,
-    *    country,
-    *    district,
-    *    region,
-    *    state,
-    *    street,
-    *    data.from_bn + (data.to_bn ? " - " + data.to_bn : ""),
-    *    lon,
-    *    lat,
-    *    value // pValue
-    */                       
-    function _processAllAddressLookup(pWsResult, pValue)
-    {
-        var resultAddresses = [];
-        
-        // if error, return [] else parse the body
-        if (!WsValidationUtils._isError(pWsResult))
-        {
-            resultAddresses = JSON.parse(pWsResult.body);
-        }
-        
-        return resultAddresses.map(function(pAddress, pIndex)
-                    {
-                        pAddress[0].value = pValue;
-                        pAddress[0].index = pIndex;
-                        var data = pAddress[0];
-                        
-                        return [
-                            JSON.stringify(data),
-                            pAddress[1],
-                            data.zip,
-                            data.city,
-                            data.cityext,
-                            data.country,
-                            data.district,
-                            data.region,
-                            data.state,
-                            data.streat,
-                            data.from_bn + (data.to_bn ? " - " + data.to_bn : ""),
-                            data.lon,
-                            data.lat,
-                            pValue]
-                    }, this);
-    }
-    
-    /**
-    *   [UID,
-    *    displayName,
-    *    zip,
-    *    city,
-    *    cityext,
-    *    country,
-    *    district,
-    *    region,
-    *    state,
-    *    street,
-    *    data.from_bn + (data.to_bn ? " - " + data.to_bn : ""),
-    *    lon,
-    *    lat,
-    *    value // (the result. e.g. if pType was ZIP, the value is the found zip)
-    */     
-    function _processAddressLookup(pWsResult, pValue)
-    {
-        var resultAddresses = [];
-        
-        // if error, return [] else parse the body
-        if (!WsValidationUtils._isError(pWsResult))
-        {
-            resultAddresses = JSON.parse(pWsResult.body);
-        }
-                        
-        return resultAddresses.map(function(pAddress, pIndex)
-                    {
-                        pAddress[0].index = pIndex;
-                        var data = pAddress[0];
-                        return [
-                            JSON.stringify(data),
-                            pAddress[1],
-                            data.zip,
-                            data.city,
-                            data.cityext,
-                            data.country,
-                            data.district,
-                            data.region,
-                            data.state,
-                            data.streat,
-                            data.from_bn + (data.to_bn ? " - " + data.to_bn : ""),
-                            data.lon,
-                            data.lat,
-                            data[this.paramName]]
-                    }, this);
-    }
-
     function _processCommunicationValidation(pWsResult, pValue)
     {
         if (!WsValidationUtils._isError(pWsResult))
@@ -191,7 +92,7 @@ WsValidationType.get = function(pKey)
                     pPlaceData.address.postcode,
                     city,
                     cityext,
-                    pPlaceData.address.country_code,
+                    pPlaceData.address.country_code.toUpperCase(),
                     pPlaceData.address.district,
                     pPlaceData.address.state_district,
                     pPlaceData.address.state,