diff --git a/Samples/add_road.xodr b/Samples/add_road.xodr
index 4ffc865277f2e6cce420486f3d098a773a93d821..c1c5938bba2d5d60f6b90a2ac2c05dac2258e78e 100644
--- a/Samples/add_road.xodr
+++ b/Samples/add_road.xodr
@@ -87,13 +87,26 @@
         <objects />
         <signals />
     </road>
-    <road name="road2" length="5.0000000000000000e+01" id="2" junction="-1">
+    <road name="road2" length="2.1141792653600001e+02" id="2" junction="-1">
         <link>
             <predecessor elementType="junction" elementId="0" contactPoint="end" />
+            <successor elementType="junction" elementId="8" contactPoint="end" />
         </link>
         <type s="0.0000000000000000e+00" type="motorway" />
         <planView>
-            <geometry s="0.0000000000000000e+00" x="8.0000000000000000e+01" y="0.0000000000000000e+00" hdg="0.0000000000000000e+00" length="5.0000000000000000e+01">
+            <geometry s="0.0000000000000000e+00" x="8.0000000000000000e+01" y="0.0000000000000000e+00" hdg="0.0000000000000000e+00" length="1.3000000000000000e+02">
+                <line />
+            </geometry>
+            <geometry s="1.3000000000000000e+02" x="2.1000000000000000e+02" y="0.0000000000000000e+00" hdg="0.0000000000000000e+00" length="1.0000000000000000e-03">
+                <spiral curvStart="0.0000000000000000e+00" curvEnd="5.0000000000000003e-02" />
+            </geometry>
+            <geometry s="1.3000100000000000e+02" x="2.1000099999999995e+02" y="8.3333333330806795e-09" hdg="2.5000000000238743e-05" length="3.1415926536000001e+01">
+                <arc curvature="5.0000000000000003e-02" />
+            </geometry>
+            <geometry s="1.6141692653600001e+02" x="2.3000049999375000e+02" y="2.0000500002185355e+01" hdg="1.5708213268000002e+00" length="1.0000000000000000e-03">
+                <spiral curvStart="5.0000000000000003e-02" curvEnd="0.0000000000000000e+00" />
+            </geometry>
+            <geometry s="1.6141792653600001e+02" x="2.3000049995208332e+02" y="2.0001500002184464e+01" hdg="1.5708463268000004e+00" length="5.0000000000000000e+01">
                 <line />
             </geometry>
         </planView>
@@ -141,12 +154,25 @@
         <objects />
         <signals />
     </road>
-    <road name="road3" length="5.0000000000000000e+01" id="3" junction="-1">
+    <road name="road3" length="1.0500200000000001e+02" id="3" junction="-1">
         <link>
             <predecessor elementType="junction" elementId="1" contactPoint="start" />
+            <successor elementType="junction" elementId="6" contactPoint="end" />
         </link>
         <planView>
-            <geometry s="0.0000000000000000e+00" x="7.5000000000000000e+01" y="4.7100000000000001e+01" hdg="0.0000000000000000e+00" length="5.0000000000000000e+01">
+            <geometry s="0.0000000000000000e+00" x="7.5000000000000000e+01" y="4.7100000000000001e+01" hdg="0.0000000000000000e+00" length="4.0000000000000000e+01">
+                <line />
+            </geometry>
+            <geometry s="4.0000000000000000e+01" x="1.1500000000000000e+02" y="4.7100000000000001e+01" hdg="0.0000000000000000e+00" length="1.0000000000000000e-03">
+                <spiral curvStart="0.0000000000000000e+00" curvEnd="1.7999999999999999e-02" />
+            </geometry>
+            <geometry s="4.0000999999999998e+01" x="1.1500099999999999e+02" y="4.7100000002999998e+01" hdg="8.9999999999580467e-06" length="3.0000000000000000e+01">
+                <arc curvature="1.7999999999999999e-02" />
+            </geometry>
+            <geometry s="7.0001000000000005e+01" x="1.4356403950057901e+02" y="5.5005330328240994e+01" hdg="5.4000899999999996e-01" length="1.0000000000000000e-03">
+                <spiral curvStart="1.7999999999999999e-02" curvEnd="0.0000000000000000e+00" />
+            </geometry>
+            <geometry s="7.0002000000000010e+01" x="1.4356489720154823e+02" y="5.5005844477098222e+01" hdg="5.4001800000000000e-01" length="3.5000000000000000e+01">
                 <line />
             </geometry>
         </planView>
@@ -268,6 +294,7 @@
     <road name="road6" length="6.0000000000000000e+01" id="6" junction="-1">
         <link>
             <predecessor elementType="junction" elementId="2" contactPoint="start" />
+            <successor elementType="junction" elementId="5" contactPoint="end" />
         </link>
         <planView>
             <geometry s="0.0000000000000000e+00" x="7.5000000000000000e+01" y="8.5000000000000000e+01" hdg="0.0000000000000000e+00" length="6.0000000000000000e+01">
@@ -496,15 +523,25 @@
         <objects />
         <signals />
     </road>
-    <road name="road10" length="5.0000000000000000e+01" id="10" junction="-1">
+    <road name="road10" length="6.6416963268000003e+01" id="10" junction="-1">
         <link>
             <predecessor elementType="junction" elementId="4" contactPoint="start" />
+            <successor elementType="junction" elementId="7" contactPoint="end" />
         </link>
         <type s="0.0000000000000000e+00" type="motorway" />
         <planView>
-            <geometry s="0.0000000000000000e+00" x="8.0000000000000000e+01" y="1.7000000000000000e+02" hdg="7.8539816299999998e-01" length="5.0000000000000000e+01">
+            <geometry s="0.0000000000000000e+00" x="8.0000000000000000e+01" y="1.8000000000000000e+02" hdg="7.8539816299999998e-01" length="5.0707000000000001e+01">
                 <line />
             </geometry>
+            <geometry s="5.0707000000000001e+01" x="1.1585526356787688e+02" y="2.1585526353937564e+02" hdg="7.8539816299999998e-01" length="1.0000000000000000e-03">
+                <spiral curvStart="0.0000000000000000e+00" curvEnd="-5.0000000000000003e-02" />
+            </geometry>
+            <geometry s="5.0707999999999998e+01" x="1.1585597068055085e+02" y="2.1585597064026393e+02" hdg="7.8537316300000015e-01" length="1.5707963268000000e+01">
+                <arc curvature="-5.0000000000000003e-02" />
+            </geometry>
+            <geometry s="6.6415963267999999e+01" x="1.2999825274885089e+02" y="2.2171348145569104e+02" hdg="-2.5000399999974832e-05" length="1.0000000000000000e-03">
+                <spiral curvStart="-5.0000000000000003e-02" curvEnd="0.0000000000000000e+00" />
+            </geometry>
         </planView>
         <elevationProfile />
         <lateralProfile />
@@ -550,11 +587,13 @@
         <objects />
         <signals />
     </road>
-    <road name="road11" length="6.0000000000000000e+01" id="11" junction="-1">
-        <link />
-        <type s="0.0000000000000000e+00" type="Default" />
+    <road name="road11" length="1.1000000000000000e+02" id="11" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="5" contactPoint="start" />
+            <successor elementType="junction" elementId="7" contactPoint="end" />
+        </link>
         <planView>
-            <geometry s="0.0000000000000000e+00" x="1.4500000000000000e+02" y="9.5000000000000000e+01" hdg="1.5707000000000000e+00" length="6.0000000000000000e+01">
+            <geometry s="0.0000000000000000e+00" x="1.4500000000000000e+02" y="9.5000000000000000e+01" hdg="1.5707000000000000e+00" length="1.1000000000000000e+02">
                 <line />
             </geometry>
         </planView>
@@ -590,6 +629,159 @@
         <objects />
         <signals />
     </road>
+    <road name="road12" length="2.0000000000000000e+01" id="12" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="5" contactPoint="start" />
+            <successor elementType="junction" elementId="6" contactPoint="end" />
+        </link>
+        <type s="0.0000000000000000e+00" type="town" />
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.5500000000000000e+02" y="8.5000000000000000e+01" hdg="0.0000000000000000e+00" length="2.0000000000000000e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile />
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.2000000000000002e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="0.0000000000000000e+00" laneChange="both" />
+                        <speed sOffset="0.0000000000000000e+00" max="5.0000000000000000e+01" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="0.0000000000000000e+00" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.2000000000000002e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="0.0000000000000000e+00" laneChange="both" />
+                        <speed sOffset="0.0000000000000000e+00" max="5.0000000000000000e+01" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="road13" length="2.0000000000000000e+01" id="13" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="6" contactPoint="start" />
+            <successor elementType="junction" elementId="8" contactPoint="end" />
+        </link>
+        <type s="0.0000000000000000e+00" type="Default" />
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.9500000000000000e+02" y="8.5000000000000000e+01" hdg="0.0000000000000000e+00" length="2.0000000000000000e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile />
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.2000000000000002e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="0.0000000000000000e+00" laneChange="both" />
+                        <speed sOffset="0.0000000000000000e+00" max="5.0000000000000000e+01" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="0.0000000000000000e+00" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.2000000000000002e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="0.0000000000000000e+00" laneChange="both" />
+                        <speed sOffset="0.0000000000000000e+00" max="5.0000000000000000e+01" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="road14" length="1.8141792653600001e+02" id="14" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="7" contactPoint="start" />
+            <successor elementType="junction" elementId="8" contactPoint="end" />
+        </link>
+        <type s="0.0000000000000000e+00" type="motorway" />
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.6000000000000000e+02" y="2.2171340000000001e+02" hdg="0.0000000000000000e+00" length="5.0000000000000000e+01">
+                <line />
+            </geometry>
+            <geometry s="5.0000000000000000e+01" x="2.1000000000000000e+02" y="2.2171340000000001e+02" hdg="0.0000000000000000e+00" length="1.0000000000000000e-03">
+                <spiral curvStart="0.0000000000000000e+00" curvEnd="-5.0000000000000003e-02" />
+            </geometry>
+            <geometry s="5.0000999999999998e+01" x="2.1000099999999995e+02" y="2.2171339999166668e+02" hdg="-2.4999999999883470e-05" length="3.1415926536000001e+01">
+                <arc curvature="-5.0000000000000003e-02" />
+            </geometry>
+            <geometry s="8.1416926536000005e+01" x="2.3000049999375003e+02" y="2.0171289999781465e+02" hdg="-1.5708213268000004e+00" length="1.0000000000000000e-03">
+                <spiral curvStart="-5.0000000000000003e-02" curvEnd="0.0000000000000000e+00" />
+            </geometry>
+            <geometry s="8.1417926536000010e+01" x="2.3000049995208335e+02" y="2.0171189999781552e+02" hdg="-1.5708463268000006e+00" length="1.0000000000000000e+02">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile />
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="2" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.2000000000000002e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="0.0000000000000000e+00" laneChange="both" />
+                        <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" />
+                    </lane>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.2000000000000002e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="0.0000000000000000e+00" laneChange="both" />
+                        <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid solid" weight="standard" color="standard" width="0.0000000000000000e+00" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.2000000000000002e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="0.0000000000000000e+00" laneChange="both" />
+                        <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" />
+                    </lane>
+                    <lane id="-2" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.2000000000000002e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="0.0000000000000000e+00" laneChange="both" />
+                        <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
     <junction name="junction0" id="0">
         <connection id="0" incomingRoad="7" connectingRoad="0" contactPoint="end">
             <laneLink from="-1" to="-1" />
@@ -756,4 +948,114 @@
             <laneLink from="2" to="-2" />
         </connection>
     </junction>
+    <junction name="junction5" id="5">
+        <connection id="0" incomingRoad="6" connectingRoad="12" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="6" connectingRoad="11" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="12" connectingRoad="6" contactPoint="start">
+            <laneLink from="1" to="1" />
+        </connection>
+        <connection id="3" incomingRoad="12" connectingRoad="11" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="11" connectingRoad="6" contactPoint="start">
+            <laneLink from="1" to="1" />
+        </connection>
+        <connection id="5" incomingRoad="11" connectingRoad="12" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="junction6" id="6">
+        <connection id="0" incomingRoad="3" connectingRoad="13" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="3" connectingRoad="12" contactPoint="end">
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="2" incomingRoad="12" connectingRoad="13" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="13" connectingRoad="12" contactPoint="start">
+            <laneLink from="1" to="1" />
+        </connection>
+    </junction>
+    <junction name="junction7" id="7">
+        <connection id="0" incomingRoad="11" connectingRoad="14" contactPoint="end">
+            <laneLink from="-1" to="-2" />
+        </connection>
+        <connection id="1" incomingRoad="11" connectingRoad="14" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="11" connectingRoad="10" contactPoint="end">
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="3" incomingRoad="11" connectingRoad="10" contactPoint="end">
+            <laneLink from="-1" to="2" />
+        </connection>
+        <connection id="4" incomingRoad="14" connectingRoad="11" contactPoint="start">
+            <laneLink from="1" to="1" />
+        </connection>
+        <connection id="5" incomingRoad="14" connectingRoad="11" contactPoint="start">
+            <laneLink from="2" to="1" />
+        </connection>
+        <connection id="6" incomingRoad="14" connectingRoad="10" contactPoint="start">
+            <laneLink from="1" to="1" />
+        </connection>
+        <connection id="7" incomingRoad="14" connectingRoad="10" contactPoint="start">
+            <laneLink from="2" to="2" />
+        </connection>
+        <connection id="8" incomingRoad="10" connectingRoad="11" contactPoint="end">
+            <laneLink from="-2" to="1" />
+        </connection>
+        <connection id="9" incomingRoad="10" connectingRoad="11" contactPoint="end">
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="10" incomingRoad="10" connectingRoad="14" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="11" incomingRoad="10" connectingRoad="14" contactPoint="end">
+            <laneLink from="-2" to="-2" />
+        </connection>
+    </junction>
+    <junction name="junction8" id="8">
+        <connection id="0" incomingRoad="2" connectingRoad="13" contactPoint="end">
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="1" incomingRoad="2" connectingRoad="13" contactPoint="end">
+            <laneLink from="-2" to="1" />
+        </connection>
+        <connection id="2" incomingRoad="2" connectingRoad="14" contactPoint="end">
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="3" incomingRoad="2" connectingRoad="14" contactPoint="end">
+            <laneLink from="-2" to="2" />
+        </connection>
+        <connection id="4" incomingRoad="14" connectingRoad="13" contactPoint="end">
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="5" incomingRoad="14" connectingRoad="13" contactPoint="end">
+            <laneLink from="-2" to="1" />
+        </connection>
+        <connection id="6" incomingRoad="14" connectingRoad="2" contactPoint="end">
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="7" incomingRoad="14" connectingRoad="2" contactPoint="end">
+            <laneLink from="-2" to="2" />
+        </connection>
+        <connection id="8" incomingRoad="13" connectingRoad="2" contactPoint="end">
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="9" incomingRoad="13" connectingRoad="2" contactPoint="end">
+            <laneLink from="-1" to="2" />
+        </connection>
+        <connection id="10" incomingRoad="13" connectingRoad="14" contactPoint="end">
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="11" incomingRoad="13" connectingRoad="14" contactPoint="end">
+            <laneLink from="-1" to="2" />
+        </connection>
+    </junction>
 </OpenDRIVE>