diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index cd87e06ee3b3f214dbbffb8cbe049a84be1ef8a6..cdc19bbe6bcf4eb75b8cb457f4a4bd0cb94cd182 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -397,14 +397,14 @@ module OneM2M_Templates {
 			 * @desc Base CREATE request primitive for AE resource (AUX)
 			 */
 			//Added by @Naum
-			template RequestPrimitive mw_createAEannc(template (omit) AcpType p_accessControlPolicyIds := omit,template (omit) XSD.ID p_from := omit, XSD.ID p_appId) := {
+			template RequestPrimitive mw_createAEannc(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) XSD.ID p_to := omit, template (omit) XSD.ID p_from := omit, XSD.ID p_appId, XSD.ID p_stemId := omit) := {
 				operation := int1,
-				to_ := ?,
+				to_ := p_to,
 				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
 				requestIdentifier := ?,
 				resourceType := int10002,
 				primitiveContent := {
-					any_1 := {{AEAnnc_optional := mw_contentCreateAEannc(c_aeAuxName, p_accessControlPolicyIds, p_appId)}}	
+					any_1 := {{AEAnnc_optional := mw_contentCreateAEannc("Credential-ID:None", p_accessControlPolicyIds, p_appId, p_to & "/" & p_stemId)}}	
 				},
 				roleIDs := *,
 				originatingTimestamp := *,
@@ -845,14 +845,14 @@ module OneM2M_Templates {
 	group ContentCreate {
 		
 
-		template AEAnnc_optional mw_contentCreateAEannc (in template (omit)  XSD.String p_name, in template (omit) AcpType p_accessControlPolicyIds, XSD.ID p_appId := PX_APP_ID) := {
-    		resourceName := p_name,//O
+		template AEAnnc_optional mw_contentCreateAEannc (in template (omit)  XSD.String p_labels, in template (omit) AcpType p_accessControlPolicyIds, XSD.ID p_appId := PX_APP_ID, XSD.AnyURI p_nodeLink := omit) := {
+    		resourceName := *,//O
     		resourceType := omit,//NP
     		resourceID := omit,//NP
     		parentID := omit,//NP
     		creationTime := omit,//NP
     		lastModifiedTime := omit,//NP
-    		labels := *,//O
+    		labels := p_labels,//O
     		accessControlPolicyIDs := p_accessControlPolicyIds,//O
     		expirationTime := *,//O
     		dynamicAuthorizationConsultationIDs := omit, //TODO Check whether it is optional or mandatory for create operation
@@ -862,7 +862,7 @@ module OneM2M_Templates {
 			aE_ID := omit,//NP
 			pointOfAccess := *, //{"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
 			ontologyRef := *,//O
-			nodeLink := omit,//NP
+			nodeLink := p_nodeLink,//NP
 			requestReachability := ?,//M
 			contentSerialization := *,//O
 			e2eSecInfo := omit, //O TODO Check whether it is optional or mandatory for create operation
@@ -2404,6 +2404,21 @@ module OneM2M_Templates {
 			assignedTokenIdentifiers := omit,
 			tokenRequestInformation := omit
 		};
+		
+		template ResponsePrimitive m_responsePrimitiveCreate(in template PrimitiveContent p_content := omit) := {
+			responseStatusCode := int2001,
+			requestIdentifier := testcasename() & "-m_responseNotification" & f_rnd(1, 1000000),,
+			primitiveContent := p_content,
+			to_ := omit,
+			from_ := omit,
+			originatingTimestamp := omit,
+			resultExpirationTimestamp := omit,
+			eventCategory := omit,
+			contentStatus := omit,
+			contentOffset := omit,
+			assignedTokenIdentifiers := omit,
+			tokenRequestInformation := omit
+    	};
     	
 	}//end group ResponsePrimitives	
 	
diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index c42057bd1e7da22fb34dac62c10a01c41cadba7a..66272f7081f7e95a0b72ad21af352cbbe2ebf488 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -354,11 +354,11 @@ module OneM2M_Testcases {
 				mcaPort.send(m_request(v_request));
 				tc_ac.start;
 				alt {
-					[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) {
+					[] mcaPort.receive(mw_response(mw_responsePrimitive(int4105))) {
 						tc_ac.stop;
 						setverdict(pass, testcasename() & ": AE creation rejected.");
 					}
-					[] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int4005))) -> value v_response{
+					[] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int4105))) -> value v_response{
 						tc_ac.stop;
 						setverdict(fail, testcasename() & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)));
 					}
@@ -389,7 +389,7 @@ module OneM2M_Testcases {
 				v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule({"S"});//c_CRUDNDi);
 	
 				//Test Body
-				v_request := valueof(m_createAe(PX_APP_ID, omit, "C-AE-ID-STEM"));				
+				v_request := valueof(m_createAe(PX_APP_ID, omit, "S-AE-ID-STEM"));				
     									
 				v_request := f_getUpdateRequestPrimitive(v_resourceType,v_cseBaseIndex, v_request);
 	  	  		
@@ -397,7 +397,7 @@ module OneM2M_Testcases {
 				tc_ac.start;
 
 				alt {
-					[] mccPort.receive(mw_request(mw_createAEannc(omit, omit, "APP_ID"))) {
+					[] mccPort.receive(mw_request(mw_createAEannc(omit, "CSE_ID", "/S", "APP_ID", "S-AE-ID-STEM"))) {
 						tc_ac.stop;
 						setverdict(pass, testcasename() & ": AE creation redirected.");
 					}
@@ -414,7 +414,94 @@ module OneM2M_Testcases {
 				f_cse_postamble_deleteResources();
 				
 				// Tear down
-				f_cf01Down();
+				f_cf02Down();
+					
+			}
+			
+			testcase TC_CSE_REG_BV_008() runs on CseTester system CseSystem {
+	  	  	
+				var MsgIn v_response;
+				var RequestPrimitive v_request;
+				var integer v_cseBaseIndex := -1;
+				var ResourceType v_resourceType := int2;
+                
+                // Test component configuration
+				f_cf02Up();
+	  	  	
+				//Preambule
+				v_cseBaseIndex := f_cse_preamble_registerAe();
+				f_cse_postamble_deleteResources(); //to deregister the AE, I don't know if it's correct like this?
+	
+				//Test Body
+				v_request := valueof(mw_createAEannc(omit, "CSE_ID", "/S", "APP_ID", "S-AE-ID-STEM"));				
+    									
+				v_request := f_getUpdateRequestPrimitive(v_resourceType,v_cseBaseIndex, v_request);
+	  	  		
+				mccPort.send(m_request(v_request));
+				tc_ac.start;
+
+				alt {
+					[] mccPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response {
+						tc_ac.stop;
+						setverdict(pass, testcasename() & ": AE creation redirected.");
+						//continue to test the content
+					}
+					[] mccPort.receive {
+						tc_ac.stop;
+						setverdict(fail, testcasename() & ": Error while creating AE");
+					}
+					[] tc_ac.timeout {
+						setverdict(inconc, testcasename() & ": No answer while creating AE");
+					}
+				}	
+								
+				// Postamble
+				f_cse_postamble_deleteResources();
+				
+				// Tear down
+				f_cf02Down();
+					
+			}
+			
+			testcase TC_CSE_REG_BV_009() runs on CseTester system CseSystem {
+	  	  	
+				var MsgIn v_response;
+				var ResponsePrimitive v_request;
+				var integer v_cseBaseIndex := -1;
+				var ResourceType v_resourceType := int2;
+                
+                // Test component configuration
+				f_cf02Up();
+	  	  	
+				//Preambule
+				v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule({"S"});//c_CRUDNDi);
+	
+				//Test Body
+				v_request := valueof(m_responsePrimitiveCreate({any_1 := {{AEAnnc_optional := mw_contentCreateAEannc("Credential-ID:None", omit, PX_APP_ID, "/CSE_ID/S-AE-ID-STEM")}}}));				
+	  	  		
+				mccPort.send(m_request(v_request));
+				tc_ac.start;
+
+				alt {
+					[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
+						tc_ac.stop;
+						setverdict(pass, testcasename() & ": AE creation success.");
+						//continue to test the content
+					}
+					[] mcaPort.receive {
+						tc_ac.stop;
+						setverdict(fail, testcasename() & ": Error while creating AE");
+					}
+					[] tc_ac.timeout {
+						setverdict(inconc, testcasename() & ": No answer while creating AE");
+					}
+				}	
+								
+				// Postamble
+				f_cse_postamble_deleteResources();
+				
+				// Tear down
+				f_cf02Down();
 					
 			}