diff --git a/LibOneM2M/OneM2M_Pixits.ttcn b/LibOneM2M/OneM2M_Pixits.ttcn
index 60d918179eda0041668c216beadf66096bd8e3b6..08d6e43cef67c8d2383b588b2f79079408c06b30 100644
--- a/LibOneM2M/OneM2M_Pixits.ttcn
+++ b/LibOneM2M/OneM2M_Pixits.ttcn
@@ -128,7 +128,7 @@ module OneM2M_Pixits {
 	modulepar boolean PX_IUT_IS_IN_CSE				:= false; //default //set it to true when running Share-based location testcases
 	
 	//constant parameters for LOC  
-	modulepar XSD.Token PX_LOCATION_TARGET_ID				:= "{LOCATION-TARGET-ID}"; //SUPPOSE TO BE RECEIVED FROM LOCATION SERVER
+	modulepar LocationTargetID PX_LOCATION_TARGET_ID				:= {alt_ := "{LOCATION-TARGET-ID}"}; //SUPPOSE TO BE RECEIVED FROM LOCATION SERVER
 	modulepar XSD.AnyURI PX_LOCATION_SERVER_ADDRESS		:= "{LOCATION-SERVER-ADDRESS}";
 	
 	modulepar charstring PX_LOCATION_UPDATE_PERIOD			:= "PT10M10S" ;//10 Minute 10 Seconds
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 6ed7b107d9a11e36a2dbae6f53e5534201b6792d..b41a0cf15a25e3ffa59e8ff1964af2cd0a32d9df 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -1038,7 +1038,7 @@ module OneM2M_Templates {
 				primitiveContent := {locationPolicy := m_contentCreateLocationPolicyBase}
 			};
         	
-			template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) NodeID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) modifies m_create := {
+			template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) LocationTargetID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) modifies m_create := {
         		
 				requestIdentifier	:= testcasename() & "-m_createLocationPolicy", //the requestIdentifier is supposed to be set similar as "C190XX7T/001"  by prepending the AE-ID-Stem and slash(‘/’) in front of it
         	  	resourceType		:= int10,
@@ -2006,7 +2006,7 @@ module OneM2M_Templates {
 			choice := omit //NA
 		};
     	
-		template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) NodeID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) := {
+		template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) LocationTargetID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) := {
     	  	resourceName 				:= c_defaultLocationPolicyResourceName, //O
     	  	resourceType				:= omit, //NP
     	    resourceID					:= omit, //NP
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index b2d138009e4c35c2bb7af7b2ee279abfc7fcb7f5..5658d97968fe793999e91938ddad1fcba0c7da89 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -1548,6 +1548,21 @@ with {
 };
 
 
+type union LocationTargetID
+{
+	NodeID alt_,
+	ExternalID alt_1,
+	XSD.String alt_2 (pattern "([0-9]*)")
+}
+with {
+  variant "name as uncapitalized";
+  variant "useUnion";
+  variant (alt_) "name as ''";
+  variant (alt_1) "name as ''";
+  variant (alt_2) "name as ''";
+};
+
+
 
 
 
@@ -1952,8 +1967,8 @@ type record AccessControlRule
 	record of record {
 		record of ScheduleEntry accessControlWindow_list,
 		record {
-			record length(1 .. infinity) of Ipv4 ipv4Addresses optional,//FIXME It must be optional
-			record length(1 .. infinity) of Ipv6 ipv6Addresses optional //FIXME It must be optional
+			record length(1 .. infinity) of Ipv4 ipv4Addresses optional,//TODO It must be optional
+			record length(1 .. infinity) of Ipv6 ipv6Addresses optional //TODO It must be optional
 		} accessControlIpAddresses optional,
 		LocationRegion accessControlLocationRegion optional
 	} accessControlContexts_list,
@@ -3658,6 +3673,7 @@ with {
 
 type enumerated Status
 {
+	int0(0),
 	int1(1),
 	int2(2),
 	int3(3)
@@ -4569,7 +4585,7 @@ type record LocationPolicy
 	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
 	LocationSource locationSource,
 	ListOfDuration locationUpdatePeriod optional,
-	NodeID locationTargetID optional,
+	LocationTargetID locationTargetID optional,
 	XSD.AnyURI locationServer optional,
 	XSD.AnyURI locationContainerID optional,
 	XSD.String locationContainerName optional,
@@ -4609,7 +4625,7 @@ type record LocationPolicyAnnc
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	LocationSource locationSource optional,
 	ListOfDuration locationUpdatePeriod optional,
-	NodeID locationTargetID optional,
+	LocationTargetID locationTargetID optional,
 	XSD.AnyURI locationServer optional,
 	XSD.AnyURI locationContainerID optional,
 	XSD.String locationContainerName optional,
@@ -4962,6 +4978,7 @@ with {
   variant (notification_list[-]) "name as 'notification'";
 };
 
+
 //FIXME To be added
 type union Representation {
 	Resource_2 resource, 
@@ -5379,7 +5396,7 @@ type record Request
 	XSD.ID originator,
 	RequestID requestID,
 	MetaInformation metaInformation,
-	PrimitiveContent primitiveContent,
+	PrimitiveContent primitiveContent optional,
 	RequestStatus requestStatus,
 	OperationResult operationResult,
 	union {
@@ -5433,7 +5450,7 @@ with {
 
 type ListOfURIs URIList
 with {
-  variant "list";
+  variant "element";//Change from previous version "list"
 };
 
 
@@ -6188,7 +6205,8 @@ type record TimeSeriesInstance
 	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
 	AbsRelTimestamp dataGenerationTime,
 	XSD.AnySimpleType content,
-	XSD.NonNegativeInteger sequenceNr optional
+	XSD.NonNegativeInteger sequenceNr optional,
+	XSD.NonNegativeInteger contentSize
 }
 with {
   variant "name as uncapitalized";
@@ -6211,7 +6229,8 @@ type record TimeSeriesInstanceAnnc
 	XSD.AnyURI link,
 	AbsRelTimestamp dataGenerationTime optional,
 	XSD.AnySimpleType content optional,
-	XSD.NonNegativeInteger sequenceNr optional
+	XSD.NonNegativeInteger sequenceNr optional,
+	XSD.NonNegativeInteger contentSize optional
 }
 with {
   variant "name as uncapitalized";
@@ -6343,9 +6362,7 @@ type record Token
 	Timestamp notAfter optional,
 	XSD.String tokenName optional,
 	ListOfM2MID audience optional,
-	record {
-		TokenPermission permission
-	} permissions optional,
+	TokenPermissions permissions optional,
 	XSD.String extension_ optional,
 	union {
 		record length(1 .. infinity) of ChildResourceRef childResource_list,
@@ -7268,7 +7285,7 @@ group OptionalResourceTypes {
 		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 		LocationSource locationSource optional,
 		ListOfDuration locationUpdatePeriod optional,
-		NodeID locationTargetID optional,
+		LocationTargetID locationTargetID optional,
 		XSD.AnyURI locationServer optional,
 		XSD.AnyURI locationContainerID optional,
 		XSD.String locationContainerName optional,
@@ -7307,7 +7324,7 @@ group OptionalResourceTypes {
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
 		LocationSource locationSource optional,
 		ListOfDuration locationUpdatePeriod optional,
-		NodeID locationTargetID optional,
+		LocationTargetID locationTargetID optional,
 		XSD.AnyURI locationServer optional,
 		XSD.AnyURI locationContainerID optional,
 		XSD.String locationContainerName optional,
@@ -8205,7 +8222,7 @@ group InvalidTypes {
 		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 		LocationSource locationSource optional,
 		ListOfDuration locationUpdatePeriod optional,
-		NodeID locationTargetID optional,
+		LocationTargetID locationTargetID optional,
 		XSD.AnyURI locationServer optional,
 		XSD.AnyURI locationContainerID optional,
 		XSD.String locationContainerName optional,
diff --git a/OneM2M_Testcases_CSE.ttcn b/OneM2M_Testcases_CSE.ttcn
index af6d2c05af659c9b188a2765ef0da7fd0b25835f..9f586a7bd3be568d7227e2a7ccc86ff73af2fcd5 100644
--- a/OneM2M_Testcases_CSE.ttcn
+++ b/OneM2M_Testcases_CSE.ttcn
@@ -14355,7 +14355,7 @@ module OneM2M_Testcases_CSE {
 				var integer v_aeAuxIndex 				:= -1;				
 				var LocationSource v_locationSource		:= int1;//Network-based	
 				var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;  
-				var XSD.Token locationTargetID			:= PX_LOCATION_TARGET_ID;
+				var LocationTargetID locationTargetID			:= PX_LOCATION_TARGET_ID;
 				var XSD.AnyURI locationServerAddress	:= PX_LOCATION_SERVER_ADDRESS;
 				var RequestPrimitive v_request;
 				var MsgIn v_response;
@@ -14421,7 +14421,7 @@ module OneM2M_Testcases_CSE {
 				var integer v_acpAuxIndex 				:= -1;
 				var LocationSource v_locationSource		:= int1;//Network-based
 				var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;      
-				var XSD.Token locationTargetID			:= PX_LOCATION_TARGET_ID;
+				var LocationTargetID locationTargetID			:= PX_LOCATION_TARGET_ID;
 				var XSD.AnyURI locationServerAddress	:= PX_LOCATION_SERVER_ADDRESS;
 				var RequestPrimitive v_request;	
 				var MsgIn v_response;
@@ -14490,7 +14490,7 @@ module OneM2M_Testcases_CSE {
 				var integer v_aeIndex 				:= -1;
 				var LocationSource v_locationSource		:= int1;//Netwok-based		        
 				var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;   
-				var XSD.Token locationTargetID			:= PX_LOCATION_TARGET_ID;
+				var LocationTargetID locationTargetID			:= PX_LOCATION_TARGET_ID;
 				var XSD.AnyURI locationServerAddress	:= PX_LOCATION_SERVER_ADDRESS;
 				var RequestPrimitive v_request;
 				var MsgIn v_response;
@@ -14553,7 +14553,7 @@ module OneM2M_Testcases_CSE {
 				var LocationSource v_locationSource				:= int1;//Netwok-based	
 				var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;  	      	
 				var XSD.Duration locationUpdatePeriod_invalid 	:= c_invalid_location_update_period;				 
-				var XSD.Token locationTargetID					:= PX_LOCATION_TARGET_ID;
+				var LocationTargetID locationTargetID					:= PX_LOCATION_TARGET_ID;
 				var XSD.AnyURI locationServerAddress			:= PX_LOCATION_SERVER_ADDRESS;
 				var RequestPrimitive v_request;
 				var RequestPrimitive v_locpolicy_request_preamble;
@@ -14615,7 +14615,7 @@ module OneM2M_Testcases_CSE {
 			  var integer v_locPolicyResourceIndex	    := 	-1;
 			  var integer v_locContainerResourceIndex	:= 	-1;
 			  var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;  
-			  var XSD.Token locationTargetID			:= PX_LOCATION_TARGET_ID;
+			  var LocationTargetID locationTargetID			:= PX_LOCATION_TARGET_ID;
 			  var XSD.AnyURI locationServerAddress	    := PX_LOCATION_SERVER_ADDRESS;
 			  var RequestPrimitive v_loc_request_preamble;
 			  var RequestPrimitive v_container_request_preamble;
@@ -14813,7 +14813,7 @@ module OneM2M_Testcases_CSE {
 			  var integer v_subscriptionResourceIndex	:= 	-1;
 			  var LocationSource v_locationSource	:= int1;//Netwok-based
 			  var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;  
-			  var XSD.Token locationTargetID			:= PX_LOCATION_TARGET_ID;
+			  var LocationTargetID locationTargetID			:= PX_LOCATION_TARGET_ID;
 			  var XSD.AnyURI locationServerAddress	    := PX_LOCATION_SERVER_ADDRESS;
 			  var RequestPrimitive v_locpolicy_request_preamble;
 			  var RequestPrimitive v_container_request_preamble;
@@ -15016,7 +15016,7 @@ module OneM2M_Testcases_CSE {
 				  var integer v_locContainerResourceIndex	:=	-1;
 				  var LocationSource v_locationSource		:= int1;//Netwok-based
 				var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;  
-				  var XSD.Token locationTargetID			:= PX_LOCATION_TARGET_ID;
+				  var LocationTargetID locationTargetID			:= PX_LOCATION_TARGET_ID;
 				  var XSD.AnyURI locationServerAddress	    := PX_LOCATION_SERVER_ADDRESS;
 				  var RequestPrimitive v_locpolicy_request_preamble;
 				  var RequestPrimitive v_container_request_preamble;
@@ -15077,7 +15077,7 @@ module OneM2M_Testcases_CSE {
 			  var MsgIn v_response;
 			  var LocationSource v_locationSource	:= int1;//Netwok-based
 			  var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;
-			  var XSD.Token locationTargetID		:= PX_LOCATION_TARGET_ID;
+			  var LocationTargetID locationTargetID		:= PX_LOCATION_TARGET_ID;
 			  var XSD.AnyURI locationServerAddress	:= PX_LOCATION_SERVER_ADDRESS;