diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000000000000000000000000000000000000..936f4cdad0e693f7a6c10a8f5ec9febc706b8ad2
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "ppf"]
+	path = ppf
+	url = git@git-ce.rwth-aachen.de:sreejith12333/ppf.git
diff --git a/examples/quickstart/run_nv_state_estimator.py b/examples/quickstart/run_nv_state_estimator.py
index 4b6b11d8a04a072af0118ab68d031af20891099e..f949b97f7cfb93b810afa476e72a98f0ebbcb7ea 100644
--- a/examples/quickstart/run_nv_state_estimator.py
+++ b/examples/quickstart/run_nv_state_estimator.py
@@ -22,9 +22,9 @@ p = str(this_file_folder)+"/examples/sample_data/areti"
 xml_path = Path(p)
 
 
-xml_files = [os.path.join(xml_path, "1.xml"),
-             os.path.join(xml_path, "2.xml"),
-             os.path.join(xml_path, "3.xml")
+xml_files = [os.path.join(xml_path, "3.xml"),
+            os.path.join(xml_path, "2.xml"),
+             os.path.join(xml_path, "1.xml")
              ]
 
 # Read cim files and create new network.System object
@@ -38,11 +38,11 @@ results_pf, num_iter_cim = nv_powerflow.solve(system)
 
 # --- State Estimation ---
 """ Write here the percent uncertainties of the measurements"""
-V_unc = 30
-I_unc = 20
+V_unc = 0
+I_unc = 0
 Sinj_unc = 0
 S_unc = 0
-Pmu_mag_unc = 70
+Pmu_mag_unc = 0
 Pmu_phase_unc = 0
 
 # Create measurements data structures
@@ -62,9 +62,7 @@ state_estimation_results = nv_state_estimator.DsseCall(system, measurements_set)
 # Print node voltages
 print("state_estimation_results.voltages: ")
 for node in state_estimation_results.nodes:
-    print('{}={}'.format(node.topology_node.uuid, node.voltage))
+    print('{}={}'.format(node.topology_node.uuid, node.voltage_pu))
     
-    print(dir(node))
-    
-for node in state_estimation_results.nodes:
-    print('{}={}'.format(node.topology_node.type, node.voltage))
\ No newline at end of file
+
+system.generate_sld(output_file='sld.png')
\ No newline at end of file
diff --git a/examples/run_nv_powerflow.log b/examples/run_nv_powerflow.log
new file mode 100644
index 0000000000000000000000000000000000000000..ef5659e85430b61e92f2d39e310bb5a9adbe869b
--- /dev/null
+++ b/examples/run_nv_powerflow.log
@@ -0,0 +1,83 @@
+INFO:cimpy.cimimport:START of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/areti/1.xml"
+INFO:cimpy.cimimport:START of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/areti/2.xml"
+INFO:cimpy.cimimport:START of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/areti/3.xml"
+INFO:cimpy.cimimport:END of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/areti/1.xml"
+INFO:cimpy.cimimport:END of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/areti/2.xml"
+INFO:cimpy.cimimport:END of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/areti/3.xml"
+WARNING:cimpy.cimimport:Package information not found for class type : 1222 times
+WARNING:cimpy.cimimport:Package information not found for class Terminal, attribute ConductingEquipment : 436 times
+WARNING:cimpy.cimimport:'Terminal' has not attribute 'ConnectivityNode' : 436 times
+WARNING:cimpy.cimimport:Package information not found for class Terminal, attribute name : 436 times
+WARNING:cimpy.cimimport:Package information not found for class Terminal, attribute connected : 436 times
+WARNING:cimpy.cimimport:Package information not found for class Terminal, attribute sequenceNumber : 436 times
+WARNING:cimpy.cimimport:Referenced Terminal [PhaseCode.ABC] object missing. : 436 times
+WARNING:cimpy.cimimport:'ConnectivityNode' has not attribute 'name' : 163 times
+WARNING:cimpy.cimimport:'ConnectivityNode' has not attribute 'ConnectivityNodeContainer' : 163 times
+WARNING:cimpy.cimimport:Package information not found for class Disconnector, attribute name : 112 times
+WARNING:cimpy.cimimport:Package information not found for class Disconnector, attribute BaseVoltage : 112 times
+WARNING:cimpy.cimimport:Package information not found for class Disconnector, attribute EquipmentContainer : 112 times
+WARNING:cimpy.cimimport:Package information not found for class Disconnector, attribute normalOpen : 112 times
+WARNING:cimpy.cimimport:Package information not found for class EnergyConsumer, attribute name : 52 times
+WARNING:cimpy.cimimport:Package information not found for class EnergyConsumer, attribute EquipmentContainer : 52 times
+WARNING:cimpy.cimimport:Package information not found for class EnergyConsumer, attribute aggregate : 52 times
+WARNING:cimpy.cimimport:'EnergyConsumer' has not attribute 'pfixed' : 52 times
+WARNING:cimpy.cimimport:'EnergyConsumer' has not attribute 'qfixed' : 52 times
+WARNING:cimpy.cimimport:Package information not found for class Terminal, attribute TopologicalNode : 224 times
+WARNING:cimpy.cimimport:Package information not found for class SvVoltage, attribute v : 57 times
+WARNING:cimpy.cimimport:Package information not found for class SvVoltage, attribute angle : 57 times
+WARNING:cimpy.cimimport:Package information not found for class SvVoltage, attribute TopologicalNode : 57 times
+WARNING:cimpy.cimimport:Package information not found for class Substation, attribute name : 57 times
+WARNING:cimpy.cimimport:Package information not found for class Substation, attribute Region : 57 times
+WARNING:cimpy.cimimport:Package information not found for class TopologicalNode, attribute name : 57 times
+WARNING:cimpy.cimimport:Package information not found for class TopologicalNode, attribute ConnectivityNodeContainer : 57 times
+WARNING:cimpy.cimimport:Package information not found for class TopologicalNode, attribute TopologicalIsland : 57 times
+WARNING:cimpy.cimimport:Package information not found for class TopologicalNode, attribute BaseVoltage : 57 times
+WARNING:cimpy.cimimport:Package information not found for class SvPowerFlow, attribute p : 52 times
+WARNING:cimpy.cimimport:Package information not found for class SvPowerFlow, attribute q : 52 times
+WARNING:cimpy.cimimport:Package information not found for class SvPowerFlow, attribute Terminal : 52 times
+WARNING:cimpy.cimimport:Package information not found for class VoltageLevel, attribute BaseVoltage : 58 times
+WARNING:cimpy.cimimport:Package information not found for class VoltageLevel, attribute name : 58 times
+WARNING:cimpy.cimimport:Package information not found for class VoltageLevel, attribute Substation : 58 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute name : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute x : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute r : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute gch : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute bch : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute length : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute BaseVoltage : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute aggregate : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute EquipmentContainer : 54 times
+WARNING:cimpy.cimimport:Package information not found for class BusbarSection, attribute name : 55 times
+WARNING:cimpy.cimimport:Package information not found for class BusbarSection, attribute EquipmentContainer : 55 times
+WARNING:cimpy.cimimport:Package information not found for class BusbarSection, attribute BaseVoltage : 55 times
+WARNING:cimpy.cimimport:Package information not found for class Line, attribute name : 54 times
+WARNING:cimpy.cimimport:Package information not found for class Line, attribute Region : 54 times
+WARNING:cimpy.cimimport:Package information not found for class SubGeographicalRegion, attribute name : 3 times
+WARNING:cimpy.cimimport:Package information not found for class SubGeographicalRegion, attribute Region : 3 times
+WARNING:cimpy.cimimport:Package information not found for class TopologicalIsland, attribute name : 3 times
+WARNING:cimpy.cimimport:Package information not found for class ExternalNetworkInjection, attribute aggregate : 3 times
+WARNING:cimpy.cimimport:Package information not found for class ExternalNetworkInjection, attribute name : 3 times
+WARNING:cimpy.cimimport:Package information not found for class ExternalNetworkInjection, attribute EquipmentContainer : 3 times
+WARNING:cimpy.cimimport:Package information not found for class BaseVoltage, attribute nominalVoltage : 3 times
+WARNING:cimpy.cimimport:Package information not found for class BaseVoltage, attribute name : 3 times
+WARNING:cimpy.cimimport:Package information not found for class GeographicalRegion, attribute name : 3 times
+INFO:cimpy.cimimport:CIM object Terminal created : 436 times
+INFO:cimpy.cimimport:CIM object ConnectivityNode created : 163 times
+INFO:cimpy.cimimport:CIM object Disconnector created : 112 times
+INFO:cimpy.cimimport:CIM object EnergyConsumer created : 52 times
+INFO:cimpy.cimimport:CIM object SvVoltage created : 57 times
+INFO:cimpy.cimimport:CIM object Substation created : 57 times
+INFO:cimpy.cimimport:CIM object TopologicalNode created : 57 times
+INFO:cimpy.cimimport:CIM object SvPowerFlow created : 52 times
+INFO:cimpy.cimimport:CIM object VoltageLevel created : 58 times
+INFO:cimpy.cimimport:CIM object ACLineSegment created : 54 times
+INFO:cimpy.cimimport:CIM object BusbarSection created : 55 times
+INFO:cimpy.cimimport:CIM object Line created : 54 times
+INFO:cimpy.cimimport:CIM object SubGeographicalRegion created : 3 times
+INFO:cimpy.cimimport:CIM object TopologicalIsland created : 3 times
+INFO:cimpy.cimimport:CIM object ExternalNetworkInjection created : 3 times
+INFO:cimpy.cimimport:CIM object BaseVoltage created : 3 times
+INFO:cimpy.cimimport:CIM object GeographicalRegion created : 3 times
+INFO:cimpy.cimimport:Created totally 1207 CIM objects in 0.08458471298217773s
+
+
diff --git a/examples/run_nv_state_estimator.log b/examples/run_nv_state_estimator.log
index 16331176978970844b95ea8675a2acace71b4e31..d5eec23cc8afecb3b3179b314d3860a0162388d6 100644
--- a/examples/run_nv_state_estimator.log
+++ b/examples/run_nv_state_estimator.log
@@ -1,41 +1,83 @@
-INFO:cimpy.cimimport:START of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/CIGRE-MV-NoTap-WithBreaker/20191126T1535Z_YYY_EQ_.xml"
-INFO:cimpy.cimimport:START of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/CIGRE-MV-NoTap-WithBreaker/20191126T1535Z_XX_YYY_SV_.xml"
-INFO:cimpy.cimimport:START of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/CIGRE-MV-NoTap-WithBreaker/20191126T1535Z_XX_YYY_TP_.xml"
-INFO:cimpy.cimimport:END of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/CIGRE-MV-NoTap-WithBreaker/20191126T1535Z_YYY_EQ_.xml"
-INFO:cimpy.cimimport:END of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/CIGRE-MV-NoTap-WithBreaker/20191126T1535Z_XX_YYY_SV_.xml"
-INFO:cimpy.cimimport:END of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/CIGRE-MV-NoTap-WithBreaker/20191126T1535Z_XX_YYY_TP_.xml"
-WARNING:cimpy.cimimport:Module LoadArea not implemented : 1 times
-WARNING:cimpy.cimimport:Module SubLoadArea not implemented : 1 times
-WARNING:cimpy.cimimport:'Terminal' has not attribute 'ConnectivityNode' : 51 times
-WARNING:cimpy.cimimport:'ConnectivityNode' has not attribute 'ConnectivityNodeContainer' : 16 times
-WARNING:cimpy.cimimport:'ConnectivityNode' has not attribute 'name' : 16 times
-WARNING:cimpy.cimimport:Missing LoadArea object with uuid: _8c7f05c8-84a2-0f6a-eb5c-becc766dfb09 : 1 times
-WARNING:cimpy.cimimport:'ConformLoadGroup' has not attribute 'SubLoadArea' : 1 times
-WARNING:cimpy.cimimport:Missing SubLoadArea object with uuid: _f09a72ae-1f45-f5ee-4cb2-bf413e191602 : 1 times
-INFO:cimpy.cimimport:CIM object ConformLoad created : 18 times
-INFO:cimpy.cimimport:CIM object ACLineSegment created : 13 times
-INFO:cimpy.cimimport:CIM object CurrentLimit created : 30 times
-INFO:cimpy.cimimport:CIM object OperationalLimitSet created : 30 times
-INFO:cimpy.cimimport:CIM object GeographicalRegion created : 1 times
-INFO:cimpy.cimimport:CIM object SubGeographicalRegion created : 17 times
-INFO:cimpy.cimimport:CIM object Substation created : 17 times
-INFO:cimpy.cimimport:CIM object PowerTransformer created : 2 times
-INFO:cimpy.cimimport:CIM object Terminal created : 51 times
-INFO:cimpy.cimimport:CIM object VoltageLevel created : 16 times
-INFO:cimpy.cimimport:CIM object ConnectivityNode created : 16 times
-INFO:cimpy.cimimport:CIM object PowerTransformerEnd created : 4 times
-INFO:cimpy.cimimport:CIM object VoltageLimit created : 16 times
-INFO:cimpy.cimimport:CIM object LoadResponseCharacteristic created : 1 times
-INFO:cimpy.cimimport:CIM object BaseVoltage created : 2 times
-INFO:cimpy.cimimport:CIM object RegulatingControl created : 1 times
-INFO:cimpy.cimimport:CIM object Breaker created : 1 times
-INFO:cimpy.cimimport:CIM object OperationalLimitType created : 3 times
-INFO:cimpy.cimimport:CIM object ExternalNetworkInjection created : 1 times
-INFO:cimpy.cimimport:CIM object ConformLoadGroup created : 1 times
-INFO:cimpy.cimimport:CIM object SvPowerFlow created : 19 times
-INFO:cimpy.cimimport:CIM object SvVoltage created : 16 times
-INFO:cimpy.cimimport:CIM object TopologicalIsland created : 1 times
-INFO:cimpy.cimimport:CIM object TopologicalNode created : 16 times
-INFO:cimpy.cimimport:Created totally 293 CIM objects in 0.027395963668823242s
+INFO:cimpy.cimimport:START of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/areti/3.xml"
+INFO:cimpy.cimimport:START of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/areti/2.xml"
+INFO:cimpy.cimimport:START of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/areti/1.xml"
+INFO:cimpy.cimimport:END of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/areti/3.xml"
+INFO:cimpy.cimimport:END of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/areti/2.xml"
+INFO:cimpy.cimimport:END of parsing file "/home/ubuntu/pyvolt-docker/examples/sample_data/areti/1.xml"
+WARNING:cimpy.cimimport:Package information not found for class type : 1222 times
+WARNING:cimpy.cimimport:Package information not found for class Terminal, attribute ConductingEquipment : 436 times
+WARNING:cimpy.cimimport:'Terminal' has not attribute 'ConnectivityNode' : 436 times
+WARNING:cimpy.cimimport:Package information not found for class Terminal, attribute name : 436 times
+WARNING:cimpy.cimimport:Package information not found for class Terminal, attribute connected : 436 times
+WARNING:cimpy.cimimport:Package information not found for class Terminal, attribute sequenceNumber : 436 times
+WARNING:cimpy.cimimport:Referenced Terminal [PhaseCode.ABC] object missing. : 436 times
+WARNING:cimpy.cimimport:'ConnectivityNode' has not attribute 'name' : 163 times
+WARNING:cimpy.cimimport:'ConnectivityNode' has not attribute 'ConnectivityNodeContainer' : 163 times
+WARNING:cimpy.cimimport:Package information not found for class SvPowerFlow, attribute p : 52 times
+WARNING:cimpy.cimimport:Package information not found for class SvPowerFlow, attribute q : 52 times
+WARNING:cimpy.cimimport:Package information not found for class SvPowerFlow, attribute Terminal : 52 times
+WARNING:cimpy.cimimport:Package information not found for class Terminal, attribute TopologicalNode : 224 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute name : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute x : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute r : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute gch : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute bch : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute length : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute BaseVoltage : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute aggregate : 54 times
+WARNING:cimpy.cimimport:Package information not found for class ACLineSegment, attribute EquipmentContainer : 54 times
+WARNING:cimpy.cimimport:Package information not found for class Substation, attribute name : 57 times
+WARNING:cimpy.cimimport:Package information not found for class Substation, attribute Region : 57 times
+WARNING:cimpy.cimimport:Package information not found for class Disconnector, attribute name : 112 times
+WARNING:cimpy.cimimport:Package information not found for class Disconnector, attribute BaseVoltage : 112 times
+WARNING:cimpy.cimimport:Package information not found for class Disconnector, attribute EquipmentContainer : 112 times
+WARNING:cimpy.cimimport:Package information not found for class Disconnector, attribute normalOpen : 112 times
+WARNING:cimpy.cimimport:Package information not found for class VoltageLevel, attribute BaseVoltage : 58 times
+WARNING:cimpy.cimimport:Package information not found for class VoltageLevel, attribute name : 58 times
+WARNING:cimpy.cimimport:Package information not found for class VoltageLevel, attribute Substation : 58 times
+WARNING:cimpy.cimimport:Package information not found for class SvVoltage, attribute v : 57 times
+WARNING:cimpy.cimimport:Package information not found for class SvVoltage, attribute angle : 57 times
+WARNING:cimpy.cimimport:Package information not found for class SvVoltage, attribute TopologicalNode : 57 times
+WARNING:cimpy.cimimport:Package information not found for class EnergyConsumer, attribute name : 52 times
+WARNING:cimpy.cimimport:Package information not found for class EnergyConsumer, attribute EquipmentContainer : 52 times
+WARNING:cimpy.cimimport:Package information not found for class EnergyConsumer, attribute aggregate : 52 times
+WARNING:cimpy.cimimport:'EnergyConsumer' has not attribute 'pfixed' : 52 times
+WARNING:cimpy.cimimport:'EnergyConsumer' has not attribute 'qfixed' : 52 times
+WARNING:cimpy.cimimport:Package information not found for class BusbarSection, attribute name : 55 times
+WARNING:cimpy.cimimport:Package information not found for class BusbarSection, attribute EquipmentContainer : 55 times
+WARNING:cimpy.cimimport:Package information not found for class BusbarSection, attribute BaseVoltage : 55 times
+WARNING:cimpy.cimimport:Package information not found for class Line, attribute name : 54 times
+WARNING:cimpy.cimimport:Package information not found for class Line, attribute Region : 54 times
+WARNING:cimpy.cimimport:Package information not found for class TopologicalNode, attribute name : 57 times
+WARNING:cimpy.cimimport:Package information not found for class TopologicalNode, attribute ConnectivityNodeContainer : 57 times
+WARNING:cimpy.cimimport:Package information not found for class TopologicalNode, attribute TopologicalIsland : 57 times
+WARNING:cimpy.cimimport:Package information not found for class TopologicalNode, attribute BaseVoltage : 57 times
+WARNING:cimpy.cimimport:Package information not found for class TopologicalIsland, attribute name : 3 times
+WARNING:cimpy.cimimport:Package information not found for class SubGeographicalRegion, attribute name : 3 times
+WARNING:cimpy.cimimport:Package information not found for class SubGeographicalRegion, attribute Region : 3 times
+WARNING:cimpy.cimimport:Package information not found for class BaseVoltage, attribute nominalVoltage : 3 times
+WARNING:cimpy.cimimport:Package information not found for class BaseVoltage, attribute name : 3 times
+WARNING:cimpy.cimimport:Package information not found for class ExternalNetworkInjection, attribute aggregate : 3 times
+WARNING:cimpy.cimimport:Package information not found for class ExternalNetworkInjection, attribute name : 3 times
+WARNING:cimpy.cimimport:Package information not found for class ExternalNetworkInjection, attribute EquipmentContainer : 3 times
+WARNING:cimpy.cimimport:Package information not found for class GeographicalRegion, attribute name : 3 times
+INFO:cimpy.cimimport:CIM object Terminal created : 436 times
+INFO:cimpy.cimimport:CIM object ConnectivityNode created : 163 times
+INFO:cimpy.cimimport:CIM object SvPowerFlow created : 52 times
+INFO:cimpy.cimimport:CIM object ACLineSegment created : 54 times
+INFO:cimpy.cimimport:CIM object Substation created : 57 times
+INFO:cimpy.cimimport:CIM object Disconnector created : 112 times
+INFO:cimpy.cimimport:CIM object VoltageLevel created : 58 times
+INFO:cimpy.cimimport:CIM object SvVoltage created : 57 times
+INFO:cimpy.cimimport:CIM object EnergyConsumer created : 52 times
+INFO:cimpy.cimimport:CIM object BusbarSection created : 55 times
+INFO:cimpy.cimimport:CIM object Line created : 54 times
+INFO:cimpy.cimimport:CIM object TopologicalNode created : 57 times
+INFO:cimpy.cimimport:CIM object TopologicalIsland created : 3 times
+INFO:cimpy.cimimport:CIM object SubGeographicalRegion created : 3 times
+INFO:cimpy.cimimport:CIM object BaseVoltage created : 3 times
+INFO:cimpy.cimimport:CIM object ExternalNetworkInjection created : 3 times
+INFO:cimpy.cimimport:CIM object GeographicalRegion created : 3 times
+INFO:cimpy.cimimport:Created totally 1207 CIM objects in 0.08271288871765137s
 
 
diff --git a/examples/sld.png b/examples/sld.png
new file mode 100644
index 0000000000000000000000000000000000000000..5f90d224810e0c4a8e66a51eea8c9e6c0d80ceb1
Binary files /dev/null and b/examples/sld.png differ
diff --git a/ppf b/ppf
new file mode 160000
index 0000000000000000000000000000000000000000..1227d9a98992e6c7e368369c0f7177af330f7403
--- /dev/null
+++ b/ppf
@@ -0,0 +1 @@
+Subproject commit 1227d9a98992e6c7e368369c0f7177af330f7403
diff --git a/pyvolt/__pycache__/network.cpython-310.pyc b/pyvolt/__pycache__/network.cpython-310.pyc
index 2b4166cb9136bef3b568c6f189800fcbecdc88d9..7bf56eb1d784f7e8cd67752187a55603aa49a092 100644
Binary files a/pyvolt/__pycache__/network.cpython-310.pyc and b/pyvolt/__pycache__/network.cpython-310.pyc differ
diff --git a/pyvolt/network.py b/pyvolt/network.py
index 0e18d281d45bf9dd43a682bdc607590e9cf000cb..76b2a3db616a7ab6c51b634ed8521a43a8c5db4e 100644
--- a/pyvolt/network.py
+++ b/pyvolt/network.py
@@ -3,6 +3,8 @@ import numpy as np
 from enum import Enum
 import os
 import hdf5storage
+import matplotlib.pyplot as plt
+from pypowsybl.network import Network
 
 
 class BusType(Enum):
@@ -440,4 +442,82 @@ class System():
             )
 
         
-        self.Ymatrix_calc()
\ No newline at end of file
+        self.Ymatrix_calc()
+        
+    
+        
+    def generate_sld(self, output_file=None):
+        """
+        Generate and display a Single Line Diagram (SLD) of the network using pypowsybl.
+        
+        This function:
+        - Builds a pypowsybl network instance from self.nodes and self.branches.
+        - Adds buses (ignoring nodes that are "ideally connected") and transmission lines.
+        - Invokes pypowsybl's SLD generator to produce a matplotlib figure for the SLD.
+        
+        :param output_file: Optional file path to save the diagram (e.g., 'sld.png').
+        """
+        
+        # Create a new pypowsybl network instance.
+        # The parameters ("MyNetwork", "1.0", "DC") are placeholders; adjust as required.
+        try:
+            from pypowsybl.sld import SldGenerator
+        except ImportError:
+            SldGenerator = None    
+        net = Network("MyNetwork", "1.0", "DC")
+        
+        # Dictionary for mapping node indices to pypowsybl bus objects
+        bus_map = {}
+        
+        # Add buses for nodes (skip ideally connected nodes)
+        for node in self.nodes:
+            if node.ideal_connected_with:
+                continue
+            
+            # Map your node type to a string value compatible with pypowsybl.
+            if node.type == BusType.SLACK:
+                bus_type = 'SLACK'
+            elif node.type == BusType.PV:
+                bus_type = 'PV'
+            else:
+                bus_type = 'PQ'
+            
+            # Create a bus in the pypowsybl network.
+            # NOTE: Replace 'create_bus' with the actual pypowsybl bus creation method if different.
+            # Here, it is assumed that create_bus takes the node index, name, voltage (magnitude) and type.
+            bus = net.create_bus(node.index, node.name, abs(node.voltage_pu), bus_type)
+            bus_map[node.index] = bus
+        
+        # Add branches as transmission lines between the buses
+        for branch in self.branches:
+            start_idx = branch.start_node.index
+            end_idx = branch.end_node.index
+            
+            # Only add the branch if both buses exist.
+            if start_idx not in bus_map or end_idx not in bus_map:
+                continue
+            
+            # Add a transmission line between buses.
+            # NOTE: Replace 'add_line' with the corresponding pypowsybl API call as needed.
+            # It is assumed that the method accepts the two bus objects, the impedance value (absolute),
+            # and a name for the line.
+            net.add_line(bus_map[start_idx], bus_map[end_idx], abs(branch.z_pu), "Line")
+        
+        # Verify that the SLD generation module is available.
+        if SldGenerator is None:
+            raise ImportError("pypowsybl SLD module not found. Ensure that you have installed the version of "
+                            "pypowsybl that includes SLD support.")
+        
+        # Generate the single line diagram.
+        # The SldGenerator.generate() method is assumed to return a matplotlib figure.
+        sld_generator = SldGenerator()
+        fig = sld_generator.generate(net)
+        
+        # Save or display the SLD.
+        if output_file:
+            fig.savefig(output_file, dpi=300, bbox_inches='tight')
+            print(f"SLD saved to {output_file}")
+        else:
+            fig.show()
+        
+        plt.close(fig)
\ No newline at end of file