import java.util.ArrayList;
 import java.util.List;
+import lombok.Data;
 
 /**
  * The content acts the high level abstraction which to be used by OOF to do Optimization.
  *
  * @author Libo Zhu (libo.zhu@intel.com)
  */
+@Data
 class Content {
+    private List<String> scope = new ArrayList<>(); /* keep scope as empty for now */
+    private List<String> services = new ArrayList<>();
     private List<String> resources = new ArrayList<>();
+    private List<String> geography = new ArrayList<>(); /* keep geography as empty for now */
     private String identity;
     private List<String> policyScope = new ArrayList<>();
     private String policyType = "Optimization";
     private List<FlavorFeature> flavorFeatures = new ArrayList<>();
-
-    public List<String> getResources() {
-        return resources;
-    }
-
-    public void setIdentity(final String identity) {
-        this.identity = identity;
-    }
-
-    public String getIdentity() {
-        return identity;
-    }
-
-    public List<String> getPolicyScope() {
-        return policyScope;
-    }
-
-    public void setPolicyType(final String policyType) {
-        this.policyType = policyType;
-    }
-
-    public String getPolicyType() {
-        return policyType;
-    }
-
-    public List<FlavorFeature> getFlavorFeatures() {
-        return flavorFeatures;
-    }
 }
-
 
      */
     public Content extractInfo(final NodeTemplate node) throws PolicyDecodingException {
         final Metadata metaData = sdcCsarHelper.getNodeTemplateMetadata(node);
+        final Metadata metaDataOfService = sdcCsarHelper.getServiceMetadata();
         LOGGER.debug("the meta data of this nodetemplate = {}", metaData);
         final List<NodeTemplate> lnodeChild = sdcCsarHelper.getNodeTemplateChildren(node);
         LOGGER.debug("the size of lnodeChild = {}", lnodeChild.size());
 
         final Content content = new Content();
         content.getResources().add(metaData.getValue("name"));
+        content.getServices().add(metaDataOfService.getValue("name"));
         content.setIdentity(content.getPolicyType() + "_" + metaData.getValue("name"));
         extractInfoVdu(lnodeVdu, content);
         extractInfoVduCp(lnodeVduCp, content);
 
 
     private void validateReport(final String identity, final String policyType,
             final Content content) {
+        assertEquals(0, content.getScope().size());
+        assertEquals(0, content.getGeography().size());
         assertEquals(identity, content.getIdentity());
         assertEquals(policyType, content.getPolicyType());
         assertEquals(0, content.getPolicyScope().size());
         assertEquals(1, content.getPolicyScope().size());
         content.getPolicyScope().remove("vFW");
         assertEquals(0, content.getPolicyScope().size());
+        assertEquals(0, content.getServices().size());
+        content.getServices().add("vCPE");
+        assertEquals(1, content.getServices().size());
+        content.getServices().remove("vCPE");
+        assertEquals(0, content.getServices().size());
         assertEquals(0, content.getFlavorFeatures().size());
         FlavorFeature flavorFeature = new FlavorFeature();
         content.getFlavorFeatures().add(flavorFeature);