diff --git a/ttcn/IVIM/LibItsIvim_ASN1_IVInamedNumbers.ttcn b/ttcn/IVIM/LibItsIvim_ASN1_IVInamedNumbers.ttcn
index 86cea969163ef5f446911d3dc7c46aff0f474c55..51b64997ccc884a95d0346d1444ed2537af5a493 100644
--- a/ttcn/IVIM/LibItsIvim_ASN1_IVInamedNumbers.ttcn
+++ b/ttcn/IVIM/LibItsIvim_ASN1_IVInamedNumbers.ttcn
@@ -10,6 +10,12 @@ import from IVI language "ASN.1:1997" all;
         const IviStatus IviStatus_update_ := 1;
         const IviStatus IviStatus_cancellation_ := 2;
         const IviStatus IviStatus_negation_ := 3;
+        
+        const IviType IviType_immediateDangerWarningMessages_ := 0;
+        const IviType IviType_regulatoryMessages_ := 1;
+        const IviType IviType_trafficRelatedInformationMessages_ := 2; 
+        const IviType IviType_pollutionMessages_ := 3;
+        const IviType IviType_notTrafficRelatedInformationMessages_ := 4;
       
   
   } // end IVI_constants
diff --git a/ttcn/IVIM/LibItsIvim_Pixits.ttcn b/ttcn/IVIM/LibItsIvim_Pixits.ttcn
index 9dde885e23fa8550ccf3a5606c32bf24439f3cc3..370c9e0000eef8b8bac95e544e5ae9012042bf25 100644
--- a/ttcn/IVIM/LibItsIvim_Pixits.ttcn
+++ b/ttcn/IVIM/LibItsIvim_Pixits.ttcn
@@ -27,6 +27,13 @@ module LibItsIvim_Pixits {
         providerIdentifier  := 0
     }
     
+    /**
+     * @desc IUT IVI identifier
+     *      IVI identification number
+     * @see  ETSI TS 103 191-3 Table B.8
+     */
+    modulepar integer PX_IVI_ID := 2;
+    
     /**
      * @desc IUT ZoneId 1 identifier
      *       ZoneId 1 used in IVIM messages sent by the tester
diff --git a/ttcn/IVIM/LibItsIvim_Templates.ttcn b/ttcn/IVIM/LibItsIvim_Templates.ttcn
index 6a195b5d75c93146ccd8e05dabfa16647e0fcfdb..1c3ff82903f55891bfe5b09b30d825598d40990f 100644
--- a/ttcn/IVIM/LibItsIvim_Templates.ttcn
+++ b/ttcn/IVIM/LibItsIvim_Templates.ttcn
@@ -341,11 +341,12 @@ module LibItsIvim_Templates {
                                                                         in template (value) Provider p_serviceProviderId, 
                                                                         in template (value) IviIdentificationNumber p_iviIdentificationNumber,
                                                                         in template (value) IviStatus p_iviStatus,
-                                                                        in template (omit) IVIManagementContainer.connectedIviStructures p_connectedIviStructures := omit
+                                                                        in template (omit) IVIManagementContainer.connectedIviStructures p_connectedIviStructures := omit,
+                                                                        in template (omit) IVIManagementContainer.timeStamp p_timeStamp := f_getCurrentTime()
         ) := {
             serviceProviderId       := p_serviceProviderId, 
             iviIdentificationNumber := p_iviIdentificationNumber,
-            timeStamp               := f_getCurrentTime(),
+            timeStamp               := p_timeStamp,
             validFrom               := omit,
             validTo                 := omit,
             connectedIviStructures  := p_connectedIviStructures,
@@ -559,6 +560,37 @@ module LibItsIvim_Templates {
             zone            := p_zone
         } // End of template mw_glcPart
         
+        template (value) ReferencePosition m_referencePosition(
+                                          in template (value) Latitude p_latitude := 10000, 
+                                          in template (value) Longitude p_longitude := 10000,
+                                          in template (value) PosConfidenceEllipse p_position,
+                                          in template (value) Altitude p_altitude
+        ) := {
+            latitude                  := p_latitude,
+            longitude                 := p_longitude,
+            positionConfidenceEllipse := p_position,
+            altitude                  := p_altitude
+        } // End of template m_referencePosition
+        
+        template (value) ReferencePosition m_referencePosition_sample(
+                                          in template (value) Latitude p_latitude := 10000, 
+                                          in template (value) Longitude p_longitude := 10000
+        ) := {
+            latitude                  := p_latitude,
+            longitude                 := p_longitude,
+            positionConfidenceEllipse := 
+            {
+                semiMajorConfidence  := 1000,
+                semiMinorConfidence  := 1000,
+                semiMajorOrientation := 1000
+            },
+            altitude                  := 
+            {
+                altitudeValue      := 10000,
+                altitudeConfidence := alt_000_01//unavailable
+            }
+        } // End of template m_referencePosition
+        
     } // End of group geographicLocationContainerGroup
     
     group generalIviContainerGroup {
@@ -583,7 +615,17 @@ module LibItsIvim_Templates {
             preStoredlayoutId       := omit,
             roadSignCodes           := p_roadSignCodes,
             extraText               := omit
-        } // End of template m_gicPart
+        } // End of template m_gicPart_basic
+        
+        template (value) GicPart m_gicPart_relavanceZoneId(
+                                                 in template (value) IviType p_iviType := IviType_regulatoryMessages_,
+                                                 in template (value) GicPart.roadSignCodes p_roadSignCodes := {m_rSCode_itisCodes},
+                                                 in template (value) GicPart.relevanceZoneIds p_relevanceZoneIds := {PX_RELAVANCE_ZONEID}
+        ) modifies m_gicPart_basic:= {
+            relevanceZoneIds        := p_relevanceZoneIds, 
+            iviType                 := p_iviType,
+            roadSignCodes           := p_roadSignCodes
+        } // End of template m_gicPart_relavanceZoneId
         
         template (present) GicPart mw_gicPart_basic(
                                                     template (present) IviType p_iviType := ?,
@@ -632,7 +674,7 @@ module LibItsIvim_Templates {
         } // End of template mw_gicPart
         
         template (present) RSCode mw_rSCode(
-                                                    template (present) RSCode.layoutComponentId p_layoutComponentId := ?,
+                                                    template RSCode.layoutComponentId p_layoutComponentId := *,
                                                     template (present) RSCode.code p_code := ?
         )  := {
             layoutComponentId       := p_layoutComponentId,
@@ -640,7 +682,7 @@ module LibItsIvim_Templates {
         } // End of template mw_rSCode
         
         template (present) RSCode mw_rSCode_viennaConvention(
-                                                    template (present) RSCode.layoutComponentId p_layoutComponentId := ?
+                                                    template RSCode.layoutComponentId p_layoutComponentId := *
         )  := {
             layoutComponentId       := p_layoutComponentId,
             code                    := {
@@ -649,7 +691,7 @@ module LibItsIvim_Templates {
         } // End of template mw_rSCode_viennaConvention
         
         template (present) RSCode mw_rSCode_iso14823(
-                                                    template (present) RSCode.layoutComponentId p_layoutComponentId := ?
+                                                    template RSCode.layoutComponentId p_layoutComponentId := *
         )  := {
             layoutComponentId       := p_layoutComponentId,
             code                    := {
@@ -658,7 +700,7 @@ module LibItsIvim_Templates {
         } // End of template mw_rSCode_iso14823
         
         template (present) RSCode mw_rSCode_itisCodes(
-                                                    template (present) RSCode.layoutComponentId p_layoutComponentId := ?
+                                                    template RSCode.layoutComponentId p_layoutComponentId := *
         )  := {
             layoutComponentId       := p_layoutComponentId,
             code                    := {
@@ -667,7 +709,7 @@ module LibItsIvim_Templates {
         } // End of template mw_rSCode_itisCodes
         
         template (present) RSCode mw_rSCode_anyCatalogue(
-                                                    template (present) RSCode.layoutComponentId p_layoutComponentId := ?
+                                                    template RSCode.layoutComponentId p_layoutComponentId := *
         )  := {
             layoutComponentId       := p_layoutComponentId,
             code                    := {
@@ -675,6 +717,13 @@ module LibItsIvim_Templates {
             }
         } // End of template mw_rSCode_anyCatalogue
         
+        template (value) RSCode m_rSCode_itisCodes  := {
+            layoutComponentId       := omit,
+            code                    := {
+                itisCodes := 100
+            }
+        } // End of template m_rSCode_itisCodes
+        
     } // End of group generalIviContainerGroup
     
     group roadConfigurationContainerGroup {
diff --git a/ttcn/MapemSpatem/LibItsMapemSpatem_Templates.ttcn b/ttcn/MapemSpatem/LibItsMapemSpatem_Templates.ttcn
index 8a7d65f8b9f1c81767a231eea9742f6e4e956053..c4ecebb57a957b343627185c84aa43c312aae6ca 100644
--- a/ttcn/MapemSpatem/LibItsMapemSpatem_Templates.ttcn
+++ b/ttcn/MapemSpatem/LibItsMapemSpatem_Templates.ttcn
@@ -756,6 +756,54 @@ module LibItsMapemSpatem_Templates {
                     regional       := p_regional 
                 }
                 
+                template (present) SPAT mw_spatem_intersections(
+                                                                 template (present) SPAT.intersections p_intersections := ?
+                ) modifies mw_defaultSpatem := {
+                    intersections       := p_intersections 
+                }
+                
+                template (present) IntersectionState mw_IntersectionState(
+                                                                         template (present) IntersectionState.id p_id := ?,
+                                                                         template (present) IntersectionState.revision p_revision := ?,
+                                                                         template (present) IntersectionState.status p_status := ?,
+                                                                         template (present) IntersectionState.states p_states := ?
+                ) := {
+                    name               := *,
+                    id                 := p_id,
+                    revision           := p_revision,
+                    status             := p_status,
+                    moy                := *,
+                    timeStamp          := *,
+                    enabledLanes       := *,
+                    states             := p_states,
+                    maneuverAssistList := *,
+                    regional           := *
+                } // end mw_IntersectionState
+                
+                template (present) IntersectionState mw_IntersectionState_moyAndTimeStamp(
+                                                                         template (present) IntersectionState.id p_id := ?,
+                                                                         template (present) IntersectionState.revision p_revision := ?,
+                                                                         template (present) IntersectionState.status p_status := ?,
+                                                                         template (present) IntersectionState.states p_states := ?,
+                                                                         template (present) IntersectionState.moy p_moy := ?,
+                                                                         template (present) IntersectionState.timeStamp p_timeStamp := ?
+                ) modifies mw_IntersectionState:= {
+                    moy                := p_moy,
+                    timeStamp          := p_timeStamp
+                }// end mw_IntersectionState_moyAndTimeStamp
+                
+                template (present) MovementState mw_movementState (
+                                                                   template (present) MovementState.signalGroup p_signalGroup := ?,
+                                                                   template (present) MovementState.state_time_speed p_state_time_speed := ?
+                ):= {
+                       movementName       := *,                  //DescriptiveName OPTIONAL,
+                       signalGroup        := p_signalGroup,      //SignalGroupID,    
+                       state_time_speed   := p_state_time_speed, //MovementEventList,   
+                       maneuverAssistList := *,                  //ManeuverAssistList OPTIONAL,
+                       regional           := *                   //RegionalExtension {{Reg-MovementState}} OPTIONAL
+                }
+
+                
             } // End of group spatemTemplates
             
         } // End of group spatemTemplatesRecv