diff --git a/src/main/java/org/etsi/osl/mano/MANOController.java b/src/main/java/org/etsi/osl/mano/MANOController.java
index 11a1d7410aa698b2bfa5d1ff0f84a4b940b5ce77..0a4c31a5b32edc96af41f0e9a5e2605b763bb9e2 100644
--- a/src/main/java/org/etsi/osl/mano/MANOController.java
+++ b/src/main/java/org/etsi/osl/mano/MANOController.java
@@ -1394,20 +1394,18 @@ public class MANOController {
 		try {
 			// Parse the json list of objects
 			org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[] nsd_array = (org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[]) mapper.readValue(nsds_list_entity.getBody(), org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[].class);
-			// For each object
-			for(org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd nsd : nsd_array)
-			{
-				String jsonInString=null;
+			
+  			JSONArray array = new JSONArray(nsds_list_entity.getBody());  
+  			// For each object
+              for (Object object : array) {
+                JSONObject jobj = (JSONObject) object;
+  			  org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd nsd = 
+  			      mapper.readValue( jobj.toString() , org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd.class);
+  			          
+                String jsonInString=jobj.toString();
 				ObjectMapper mapper2 = new ObjectMapper();
-				mapper2.setSerializationInclusion(Include.NON_NULL);
-				try {
-					jsonInString = mapper2.writerWithDefaultPrettyPrinter().writeValueAsString(nsd);
-				} catch (JsonProcessingException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
-				}	
 										
-				// Εδώ θα συγκρίνουμε αυτό που λάβαμε απο τη βάση με αυτό που λάβαμε απο το osm και θα το ανανεώσουμε στη βάση.
+				// compare the one from OSM with the one locally saved
 				logger.debug("NSD to JSON:"+jsonInString);
 				logger.info("NSD " + nsd.getInvariantId() + " added");						
 
@@ -1455,7 +1453,7 @@ public class MANOController {
 					// Store the requirements in HTML
 					newExperimentMetadata.setDescriptorHTML(nsdreq.toHTML());
 					// Store the YAML file
-					newExperimentMetadata.setDescriptor(nsds_list_entity.getBody());
+					newExperimentMetadata.setDescriptor( jobj.toString() );
 					
 					for (Df v : nsd.getDf().values()) {
 						for( VnfProfile q : v.getVnfProfile().values())
@@ -1530,20 +1528,17 @@ public class MANOController {
 		try {
 			// Parse the json list of objects
 			org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[] nsd_array = (org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[]) mapper.readValue(nsds_list_entity.getBody(), org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[].class);
-			// For each object
-			for(org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd nsd : nsd_array)
-			{
-				String jsonInString=null;
+
+			JSONArray array = new JSONArray(nsds_list_entity.getBody());  
+            // For each object
+            for (Object object : array) {
+              JSONObject jobj = (JSONObject) object;
+              org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd nsd = 
+                  mapper.readValue( jobj.toString() , org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd.class);
+
+              String jsonInString=jobj.toString();
 				ObjectMapper mapper2 = new ObjectMapper();
-				mapper2.setSerializationInclusion(Include.NON_NULL);
-				try {
-					jsonInString = mapper2.writerWithDefaultPrettyPrinter().writeValueAsString(nsd);
-				} catch (JsonProcessingException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
-				}	
-										
-				// Compare the received from the osm with the database entry and update the database.
+                // compare the one from OSM with the one locally saved
 				logger.debug("NSD to JSON:"+jsonInString);
 				logger.info("NSD " + nsd.getInvariantId() + " added");						
 
@@ -1591,7 +1586,7 @@ public class MANOController {
 					// Store the requirements in HTML
 					newExperimentMetadata.setDescriptorHTML(nsdreq.toHTML());
 					// Store the YAML file
-					newExperimentMetadata.setDescriptor(nsds_list_entity.getBody());
+                    newExperimentMetadata.setDescriptor( jobj.toString() );
 					
 					for (Df v : nsd.getDf().values()) {
 						for( VnfProfile q : v.getVnfProfile().values())
@@ -1663,20 +1658,20 @@ public class MANOController {
 	{
 		ObjectMapper mapper = new ObjectMapper();
 		try {
-			// Parse the json list of objects
-			org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[] nsd_array = (org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[]) mapper.readValue(nsds_list_entity.getBody(), org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[].class);
-			// For each object
-			for(org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd nsd : nsd_array)
-			{
-				String jsonInString=null;
+          // Parse the json list of objects
+          org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[] nsd_array = (org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[]) mapper.readValue(nsds_list_entity.getBody(), org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[].class);
+          
+    		  JSONArray array = new JSONArray(nsds_list_entity.getBody());  
+              // For each object
+              for (Object object : array) {
+                JSONObject jobj = (JSONObject) object;
+                org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd nsd = 
+                    mapper.readValue( jobj.toString() , org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd.class);
+                        
+                String jsonInString=jobj.toString();
 				ObjectMapper mapper2 = new ObjectMapper();
 				mapper2.setSerializationInclusion(Include.NON_NULL);
-				try {
-					jsonInString = mapper2.writerWithDefaultPrettyPrinter().writeValueAsString(nsd);
-				} catch (JsonProcessingException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
-				}	
+                
 										
 				// Compare the received from the osm with the database entry and update the database.
 				logger.debug("NSD to JSON:"+jsonInString);
@@ -1726,7 +1721,7 @@ public class MANOController {
 					// Store the requirements in HTML
 					newExperimentMetadata.setDescriptorHTML(nsdreq.toHTML());
 					// Store the YAML file
-					newExperimentMetadata.setDescriptor(nsds_list_entity.getBody());
+                    newExperimentMetadata.setDescriptor( jobj.toString() );			
 					
 					for (Df v : nsd.getDf().values()) {
 						for( VnfProfile q : v.getVnfProfile().values())