diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index f16bf952798be4d898dc1cd8c7adfc90944aadc3..861127a7ffc05dafe865c4ea12c91081765c6b05 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -868,6 +868,11 @@ module OneM2M_Functions {
     	
     		} //end f_cse_notifyProcedure
     		
+    		/**
+    		 * @desc It determines whether the addressing method of the given address is non-hierarchical. Not valid for CSE-Base as target
+    		 * @param p_resourceAddress
+    		 * @return boolean
+    		 */
     		function f_isNonHierarchical(XSD.ID p_resourceAddress) runs on Tester return boolean {	
     			var integer i;
     			var integer v_nbOfSlashes:= 0;
@@ -885,7 +890,7 @@ module OneM2M_Functions {
     					return false;
     				}
     				
-    			} else if (f_isScopeSpRelative(p_resourceAddress)){
+    			} else if (f_isScopeSpRelative(p_resourceAddress)){	
 					if(v_nbOfSlashes == 2 ) {
 						return true;
 					} else {
@@ -902,7 +907,12 @@ module OneM2M_Functions {
     			}
     		}
     		
-    		function f_isHierarchical(XSD.ID p_resourceAddress) runs on Tester return boolean {
+			/**
+			 * @desc It determines whether the addressing method of the given address is hierarchical. Not valid for CSE-Base as target
+			 * @param p_resourceAddress
+			 * @return boolean
+			 */
+			 function f_isHierarchical(XSD.ID p_resourceAddress) runs on Tester return boolean {
 				if(f_isNonHierarchical(p_resourceAddress)) {
 					return false;
 				} else {
@@ -910,6 +920,11 @@ module OneM2M_Functions {
 				}	
     		} 
 			
+			/**
+			 * @desc It determines whether the primitive scope of the given address is CSE-Relative
+			 * @param p_resourceAddress
+			 * @return boolean
+			 */
 			function f_isScopeCseRelative(XSD.ID p_resourceAddress) runs on Tester return boolean { 
 			  if (p_resourceAddress[0] != "/") {
 				return true;
@@ -918,6 +933,11 @@ module OneM2M_Functions {
 			  }
 			}
 			
+			/**
+			 * @desc It determines whether the primitive scope of the given address is SP-Relative
+			 * @param p_resourceAddress
+			 * @return boolean
+			 */
 			function f_isScopeSpRelative(XSD.ID p_resourceAddress) runs on Tester return boolean {	
 			  	if ((p_resourceAddress[0] == "/") and (p_resourceAddress[1] != "/")){
 				  return true;
@@ -926,6 +946,11 @@ module OneM2M_Functions {
 				}
 			}
 			
+			/**
+			 * @desc It determines whether the primitive scope of the given address is Absolute
+			 * @param p_resourceAddress
+			 * @return boolean
+			 */
 			function f_isScopeAbsolute(XSD.ID p_resourceAddress) runs on Tester return boolean {
 				if ((p_resourceAddress[0] == "/") and (p_resourceAddress[1] == "/")) {
 				  return true;
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index a9809abce24a77c4263f6ce1cad3f49b568ddfda..6cddb74427290fb977ce25bcc84a73d064d0e712 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -198,10 +198,28 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_retrieveResourceFilterUsageOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) FilterUsage p_filterUsage) modifies m_retrieveResource := {
 				requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000),
 				filterCriteria := {
-					contentType_list := {}, 
-					attribute_list := {}, 
+					createdBefore := omit,
+					createdAfter := omit,
+					modifiedSince := omit,
+					unmodifiedSince := omit,
+					stateTagSmaller := omit,
+					stateTagBigger := omit,
+					expireBefore := omit,
+					expireAfter := omit,
+					labels := omit,
+					resourceType := omit,
+					sizeAbove := omit,
+					sizeBelow := omit,
+					contentType_list := {},
+					attribute_list := {},
 					filterUsage := p_filterUsage,
-					semanticsFilter_list := {}
+					limit := omit,
+					semanticsFilter_list := {},
+					filterOperation := omit,
+					contentFilterSyntax := omit,
+					contentFilterQuery := omit,
+					level := omit,
+					offset := omit
 				}
 			};
 			
@@ -214,10 +232,28 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_retrieveResourceDiscResTypeFilterUsageOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) DiscResType p_discResType, in template (value) FilterUsage p_filterUsage) modifies m_retrieveResource := {
 				requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000),
 				filterCriteria := {
-					contentType_list := {}, 
-					attribute_list := {}, 
+					createdBefore := omit,
+					createdAfter := omit,
+					modifiedSince := omit,
+					unmodifiedSince := omit,
+					stateTagSmaller := omit,
+					stateTagBigger := omit,
+					expireBefore := omit,
+					expireAfter := omit,
+					labels := omit,
+					resourceType := omit,
+					sizeAbove := omit,
+					sizeBelow := omit,
+					contentType_list := {},
+					attribute_list := {},
 					filterUsage := p_filterUsage,
-					semanticsFilter_list := {}
+					limit := omit,
+					semanticsFilter_list := {},
+					filterOperation := omit,
+					contentFilterSyntax := omit,
+					contentFilterQuery := omit,
+					level := omit,
+					offset := omit
 				},
 				discoveryResultType := p_discResType
 			};
@@ -231,10 +267,28 @@ module OneM2M_Templates {
 				template (value) RequestPrimitive m_retrieveResourceInvalidFormatOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) modifies m_retrieveResource := {
 					requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000),
 					filterCriteria := {
-						contentType_list := {}, 
-						attribute_list := {}, 
+						createdBefore := omit,
+						createdAfter := omit,
+						modifiedSince := omit,
+						unmodifiedSince := omit,
+						stateTagSmaller := omit,
+						stateTagBigger := omit,
+						expireBefore := omit,
+						expireAfter := omit,
+						labels := omit,
+						resourceType := omit,
+						sizeAbove := omit,
+						sizeBelow := omit,
+						contentType_list := {},
+						attribute_list := {},
 						filterUsage := omit,
-						semanticsFilter_list := {}
+						limit := omit,
+						semanticsFilter_list := {},
+						filterOperation := omit,
+						contentFilterSyntax := omit,
+						contentFilterQuery := omit,
+						level := omit,
+						offset := omit
 					}
 				};