diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 819b32ab929575b37606c587be7091308499e421..12c9446b402b7617804bd0dac823aedc1746bbd4 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -2341,9 +2341,6 @@ module OneM2M_Functions {
 							v_myResource.remoteCSE.trigger_Recipient_ID:= omit;
 						}*/
 						v_myResource.remoteCSE.nodeLink := omit;
-						v_myResource.remoteCSE.cSEBase := p_resource.remoteCSE.cSEBase;
-						v_myResource.remoteCSE.cSE_ID := p_resource.remoteCSE.cSE_ID;
-						v_myResource.remoteCSE.requestReachability := p_resource.remoteCSE.requestReachability;
 					}
 				} else if (p_resourceType == int10002 and ispresent (p_resource)) { //AE Annc
 					if(ischosen(p_resource.aEAnnc)) {
@@ -2471,7 +2468,7 @@ module OneM2M_Functions {
 						v_myResource.contentInstance.resourceType := p_resourceType;
       					v_myResource.contentInstance.parentID := f_getResourceId(vc_localResourcesList[p_parentIndex].resource);
 						v_myResource.contentInstance.creationTime := fx_generateTimestamp();
-						v_myResource.contentInstance.lastModifiedTime := v_myResource.container.creationTime;											
+						v_myResource.contentInstance.lastModifiedTime := v_myResource.contentInstance.creationTime;											
 						if(not(ispresent(p_resource.contentInstance.expirationTime))) {
 							v_myResource.contentInstance.expirationTime := "20301231T012345";
 						}
@@ -2490,14 +2487,27 @@ module OneM2M_Functions {
 						v_myResource.subscription.resourceType := p_resourceType;
 						v_myResource.subscription.parentID := f_getResourceId(vc_localResourcesList[p_parentIndex].resource);
 						v_myResource.subscription.creationTime := fx_generateTimestamp();
-						v_myResource.subscription.lastModifiedTime := v_myResource.container.creationTime;											
+						v_myResource.subscription.lastModifiedTime := v_myResource.subscription.creationTime;											
 						if(not(ispresent(p_resource.subscription.expirationTime))) {
 							v_myResource.subscription.expirationTime := "20301231T012345";
 						}
-						v_myResource.subscription.notificationURI := p_resource.subscription.notificationURI;
+					}				
+				} else if(p_resourceType == int15 and ispresent(p_resource)) { //PollingChannel
+					if(ischosen(p_resource.pollingChannel)){
+						v_myResource.pollingChannel := valueof(p_resource.pollingChannel);
+						v_myResource.pollingChannel.resourceID := "pch" & int2str(v_resourceIndex);
+						if(not(ispresent(p_resource.pollingChannel.resourceName))) {
+							v_myResource.pollingChannel.resourceName := "pch" & int2str(v_resourceIndex);
+						}
+						v_myResource.pollingChannel.resourceType := p_resourceType;
+						v_myResource.pollingChannel.parentID := f_getResourceId(vc_localResourcesList[p_parentIndex].resource);
+						v_myResource.pollingChannel.creationTime := fx_generateTimestamp();
+						v_myResource.pollingChannel.lastModifiedTime := v_myResource.pollingChannel.creationTime;											
+						if(not(ispresent(p_resource.pollingChannel.expirationTime))) {
+							v_myResource.pollingChannel.expirationTime := "20301231T012345";
+						}
+					}				
 				}
-										
-			}
 				return v_myResource;
 				
 			}//End of function		
@@ -2527,6 +2537,9 @@ module OneM2M_Functions {
 					if(ispresent(p_resource.remoteCSE.announcedAttribute)) {
 						vc_localResourcesList[p_localResourceIndex].resource.remoteCSE.announcedAttribute := p_resource.remoteCSE.announcedAttribute;
 					}
+					if(ispresent(p_resource.remoteCSE.dynamicAuthorizationConsultationIDs)) {
+						vc_localResourcesList[p_localResourceIndex].resource.remoteCSE.dynamicAuthorizationConsultationIDs := p_resource.remoteCSE.dynamicAuthorizationConsultationIDs;
+					}
 					if(ispresent(p_resource.remoteCSE.pointOfAccess)) {
 						vc_localResourcesList[p_localResourceIndex].resource.remoteCSE.pointOfAccess := p_resource.remoteCSE.pointOfAccess;
 					}
@@ -2542,7 +2555,15 @@ module OneM2M_Functions {
 					if(ispresent(p_resource.remoteCSE.nodeLink)) {
 						vc_localResourcesList[p_localResourceIndex].resource.remoteCSE.nodeLink := p_resource.remoteCSE.nodeLink;
 					}
-
+					if(ispresent(p_resource.remoteCSE.triggerReferenceNumber)) {
+						vc_localResourcesList[p_localResourceIndex].resource.remoteCSE.triggerReferenceNumber := p_resource.remoteCSE.triggerReferenceNumber;
+					}
+					if(ispresent(p_resource.remoteCSE.e2eSecInfo)) {
+						vc_localResourcesList[p_localResourceIndex].resource.remoteCSE.e2eSecInfo := p_resource.remoteCSE.e2eSecInfo;
+					}
+					if(ispresent(p_resource.remoteCSE.supportedReleaseVersions)) {
+						vc_localResourcesList[p_localResourceIndex].resource.remoteCSE.supportedReleaseVersions := p_resource.remoteCSE.supportedReleaseVersions;
+					}
 				} else if(ischosen(vc_localResourcesList[p_localResourceIndex].resource.container) and (ischosen(p_resource.container))) {//Container
 					if(ispresent(p_resource.container.expirationTime)) {
 						vc_localResourcesList[p_localResourceIndex].resource.container.expirationTime := p_resource.container.expirationTime;
@@ -2556,6 +2577,12 @@ module OneM2M_Functions {
 					if(ispresent(p_resource.container.announcedAttribute)) {
 						vc_localResourcesList[p_localResourceIndex].resource.container.announcedAttribute := p_resource.container.announcedAttribute;
 					}
+					if(ispresent(p_resource.container.accessControlPolicyIDs)) {
+						vc_localResourcesList[p_localResourceIndex].resource.container.accessControlPolicyIDs := p_resource.container.accessControlPolicyIDs;
+					}
+					if(ispresent(p_resource.container.dynamicAuthorizationConsultationIDs)) {
+						vc_localResourcesList[p_localResourceIndex].resource.container.dynamicAuthorizationConsultationIDs := p_resource.container.dynamicAuthorizationConsultationIDs;
+					}
 				}  else if(ischosen(vc_localResourcesList[p_localResourceIndex].resource.contentInstance) and (ischosen(p_resource.contentInstance))) {//ContentInstance
 					if(ispresent(p_resource.contentInstance.expirationTime)) {
 						vc_localResourcesList[p_localResourceIndex].resource.contentInstance.expirationTime := p_resource.contentInstance.expirationTime;
@@ -2576,16 +2603,77 @@ module OneM2M_Functions {
 					if(ispresent(p_resource.subscription.labels)) {
 						vc_localResourcesList[p_localResourceIndex].resource.subscription.labels := p_resource.subscription.labels;
 					}
-					if(ispresent(p_resource.subscription.announceTo)) {
-						vc_localResourcesList[p_localResourceIndex].resource.subscription.announceTo := p_resource.subscription.announceTo;
+					if(ispresent(p_resource.subscription.accessControlPolicyIDs)) {
+						vc_localResourcesList[p_localResourceIndex].resource.subscription.accessControlPolicyIDs := p_resource.subscription.accessControlPolicyIDs;
+					}
+					if(ispresent(p_resource.subscription.dynamicAuthorizationConsultationIDs)) {
+						vc_localResourcesList[p_localResourceIndex].resource.subscription.dynamicAuthorizationConsultationIDs := p_resource.subscription.dynamicAuthorizationConsultationIDs;
+					}
+				} else if(ischosen(vc_localResourcesList[p_localResourceIndex].resource.pollingChannel) and (ischosen(p_resource.pollingChannel))) {//pollingChannel
+					if(ispresent(p_resource.pollingChannel.expirationTime)) {
+						vc_localResourcesList[p_localResourceIndex].resource.pollingChannel.expirationTime := p_resource.pollingChannel.expirationTime;
+					}
+					if(ispresent(p_resource.pollingChannel.labels)) {
+						vc_localResourcesList[p_localResourceIndex].resource.pollingChannel.labels := p_resource.pollingChannel.labels;
+					}
+				} else if(ischosen(vc_localResourcesList[p_localResourceIndex].resource.aE) and (ischosen(p_resource.aE))) {//AE
+					if(ispresent(p_resource.aE.accessControlPolicyIDs)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.accessControlPolicyIDs := p_resource.aE.accessControlPolicyIDs;
+					}
+					if(ispresent(p_resource.aE.expirationTime)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.expirationTime := p_resource.aE.expirationTime;
+					}
+					if(ispresent(p_resource.aE.labels)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.labels := p_resource.aE.labels;
 					}
-					if(ispresent(p_resource.subscription.announcedAttribute)) {
-						vc_localResourcesList[p_localResourceIndex].resource.subscription.announcedAttribute := p_resource.subscription.announcedAttribute;
+					if(ispresent(p_resource.aE.announceTo)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.announceTo := p_resource.aE.announceTo;
+					}
+					if(ispresent(p_resource.aE.announcedAttribute)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.announcedAttribute := p_resource.aE.announcedAttribute;
+					}
+					if(ispresent(p_resource.aE.dynamicAuthorizationConsultationIDs)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.dynamicAuthorizationConsultationIDs := p_resource.aE.dynamicAuthorizationConsultationIDs;
+					}
+					if(ispresent(p_resource.aE.appName)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.appName := p_resource.aE.appName;
+					}
+					if(ispresent(p_resource.aE.pointOfAccess)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.pointOfAccess := p_resource.aE.pointOfAccess;
+					}
+					if(ispresent(p_resource.aE.ontologyRef)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.ontologyRef := p_resource.aE.ontologyRef;
+					}
+					if(ispresent(p_resource.aE.nodeLink)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.nodeLink := p_resource.aE.nodeLink;
+					}
+					if(ispresent(p_resource.aE.requestReachability)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.requestReachability := p_resource.aE.requestReachability;
+					}
+					if(ispresent(p_resource.aE.contentSerialization)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.contentSerialization := p_resource.aE.contentSerialization;
+					}
+					if(ispresent(p_resource.aE.e2eSecInfo)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.e2eSecInfo := p_resource.aE.e2eSecInfo;
+					}
+					if(ispresent(p_resource.aE.supportedReleaseVersions)) {
+						vc_localResourcesList[p_localResourceIndex].resource.aE.supportedReleaseVersions := p_resource.aE.supportedReleaseVersions;
+					}
+				} else if(ischosen(vc_localResourcesList[p_localResourceIndex].resource.accessControlPolicy) and (ischosen(p_resource.accessControlPolicy))) { //AccessControlPolicy
+					if(ispresent(p_resource.accessControlPolicy.expirationTime)) {
+						vc_localResourcesList[p_localResourceIndex].resource.accessControlPolicy.expirationTime := p_resource.accessControlPolicy.expirationTime;
+					}
+					if(ispresent(p_resource.accessControlPolicy.labels)) {
+						vc_localResourcesList[p_localResourceIndex].resource.accessControlPolicy.labels := p_resource.accessControlPolicy.labels;
+					}
+					if(ispresent(p_resource.accessControlPolicy.announceTo)) {
+						vc_localResourcesList[p_localResourceIndex].resource.accessControlPolicy.announceTo := p_resource.accessControlPolicy.announceTo;
+					}
+					if(ispresent(p_resource.accessControlPolicy.announcedAttribute)) {
+						vc_localResourcesList[p_localResourceIndex].resource.accessControlPolicy.announcedAttribute := p_resource.accessControlPolicy.announcedAttribute;
 					}
 				}
-				
-				
-			}//End of function	
+			  } //End of function	
 
 			/**
 			 * @desc   Send response to the IUT (Test System simulating a CSE)