Repository: dlubal-software/RFEM_Python_Client (language: python)

Issue:
Ondrej Michal Add options to dialog
US-8506: Web Services: Python: Improvement in initialization of connection with RFEM6

Description:
Purpose of this task is to add new options to input dialogue to enable use already existing models in RFEM or create new one. Edit name of the new model. If existing one is selected then enable deleting results and reset of the model. This envolves changes in initModle.py file to enable loading of existing models befor showing dialogue and then effective use of clientModel ( by creating Model class).


Discussion / hints:

Fix patch:
diff --git a/Examples/Cantilever/Demo1.py b/Examples/Cantilever/Demo1.py
index 3ca3a2ef..d4f68da2 100644
--- a/Examples/Cantilever/Demo1.py
+++ b/Examples/Cantilever/Demo1.py
@@ -37,7 +37,8 @@
     l = float(input('Length of the cantilever in m: '))
     f = float(input('Force in kN: '))
 
-    clientModel.service.begin_modification('new')
+    Model(True, "Demo1") # crete new model called Demo1
+    Model.clientModel.service.begin_modification('new')
 
     Material(1, 'S235')
 
@@ -57,12 +58,12 @@
 
     NodalLoad(
         1, 1, '2', LoadDirectionType.LOAD_DIRECTION_GLOBAL_Z_OR_USER_DEFINED_W, f*1000)
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
     Calculate_all()
 
     # model status
-    modelStatus = clientModel.service.get_model_info()
+    modelStatus = Model.clientModel.service.get_model_info()
     print("Model is calculated") if modelStatus.property_has_results else print("Model is not calculated")
     print("Model contains printout report") if modelStatus.property_has_printout_report else print("Model has not printout report")
     print ("Model contains " +  str(modelStatus.property_node_count) + " nodes")
diff --git a/Examples/CantileverQt/Main.py b/Examples/CantileverQt/Main.py
index 9f4ae1ad..c705d40d 100644
--- a/Examples/CantileverQt/Main.py
+++ b/Examples/CantileverQt/Main.py
@@ -73,7 +73,8 @@ def onOK(self):
             sys.exit()
 
         # RFEM 6
-        clientModel.service.begin_modification('new')
+        Model(True, "CantileverQt") # crete new model called CantileverQt
+        Model.clientModel.service.begin_modification('new')
 
         Material(1, 'S235')
 
@@ -98,7 +99,7 @@ def onOK(self):
 
         print('Ready!')
 
-        clientModel.service.finish_modification()
+        Model.clientModel.service.finish_modification()
 
     def onCancel(self):
         print('Cancel')
diff --git a/Examples/GetRFEMData/GetOptimizedValues.py b/Examples/GetRFEMData/GetOptimizedValues.py
index 9e6a600a..5065523d 100644
--- a/Examples/GetRFEMData/GetOptimizedValues.py
+++ b/Examples/GetRFEMData/GetOptimizedValues.py
@@ -31,7 +31,7 @@
 
 if __name__ == "__main__":
 
-    optimizationResults = clientModel.service.get_optimized_formula_parameters()
+    optimizationResults = Model.clientModel.service.get_optimized_formula_parameters()
 
     if optimizationResults != None:
         for i in range(0, len(optimizationResults.row)):
diff --git a/Examples/GetRFEMData/GlobalParametersAndFormulas.py b/Examples/GetRFEMData/GlobalParametersAndFormulas.py
index da6c32e0..f8049729 100644
--- a/Examples/GetRFEMData/GlobalParametersAndFormulas.py
+++ b/Examples/GetRFEMData/GlobalParametersAndFormulas.py
@@ -31,21 +31,21 @@
 from RFEM.enums import *
 
 if __name__ == "__main__":
-
-    objectLocation = clientModel.factory.create('ns0:object_location')
+    
+    objectLocation = Model.clientModel.factory.create('ns0:object_location')
     objectLocation.type = ObjectTypes.E_OBJECT_TYPE_SECTION.name
     objectLocation.no = 1
     objectLocation.parent_no = 0
-
-    objectParameterLocation = clientModel.factory.create('ns0:object_parameter_location_type')
+    
+    objectParameterLocation = Model.clientModel.factory.create('ns0:object_parameter_location_type')
     objectParameterLocation.attribute = "parametrization"
-    parameterPathInNestedModelsHierarchy = clientModel.factory.create('ns0:object_parameter_location_type.parameter_path_in_nested_models_hierarchy')
-    parameterPathInNestedModelsHierarchyNode = clientModel.factory.create('ns0:object_parameter_location_type.parameter_path_in_nested_models_hierarchy.node')
+    parameterPathInNestedModelsHierarchy = Model.clientModel.factory.create('ns0:object_parameter_location_type.parameter_path_in_nested_models_hierarchy')
+    parameterPathInNestedModelsHierarchyNode = Model.clientModel.factory.create('ns0:object_parameter_location_type.parameter_path_in_nested_models_hierarchy.node')
     parameterPathInNestedModelsHierarchyNode.row_path =  "0, 0"
     parameterPathInNestedModelsHierarchyNode.column_string_id = "section_parameter_value"
     parameterPathInNestedModelsHierarchy.node = parameterPathInNestedModelsHierarchyNode
     objectParameterLocation.parameter_path_in_nested_models_hierarchy = parameterPathInNestedModelsHierarchy
-    formula = clientModel.service.get_formula(objectLocation,objectParameterLocation)
+    formula = Model.clientModel.service.get_formula(objectLocation,objectParameterLocation)
     print('formula: ' + formula.formula)
     print('Calculated value: ' + str(formula.calculated_value))
     print('Validation results: ' + formula.validation_result)
diff --git a/Examples/main.py b/Examples/main.py
index bec77a15..93fc797f 100644
--- a/Examples/main.py
+++ b/Examples/main.py
@@ -1,11 +1,5 @@
-import os
 import sys
-import math
-baseName = os.path.basename(__file__)
-dirName = os.path.dirname(__file__)
-print('basename:    ', baseName)
-print('dirname:     ', dirName)
-sys.path.append(r'.')
+sys.path.append(".")
 from RFEM.enums import *
 from RFEM.window import *
 from RFEM.dataTypes import *
@@ -31,24 +25,23 @@
 from RFEM.Loads.memberLoad import *
 from RFEM.Loads.surfaceLoad import *
 
-def main(hall_width_L, hall_height_h_o, hall_height_h_m, number_frames, frame_spacing):
+def main(hall_width_L, hall_height_h_o, hall_height_h_m, number_frames, frame_spacing, new_model, model_name, delete, reset):
 # -------------------------------------------------------------
-    clientModel.service.begin_modification('new')
-    print('Geometry...')
-
+    Model(new_model, model_name, delete, reset)
+    Model.clientModel.service.begin_modification('new')
 # -------------------------------------------------------------
     # Materials
     Material(1)
     Material(2, "S275", "Test")
     Material(3, "Concrete f'c = 20 MPa | CSA A23.3-19", "Test")
-
+    
 # -------------------------------------------------------------
     # Sections
     Section(1, "HEB 220")
     Section(2, "IPE 300")
     Section(3, "U 100", 2)
     Section(4, "Cable 14.00", 2)
-
+    
 # -------------------------------------------------------------
     # Thicknesses
     Thickness(1, "Slab", 3, 0.24, "Test")
@@ -125,19 +118,19 @@ def main(hall_width_L, hall_height_h_o, hall_height_h_m, number_frames, frame_sp
     while i <= number_frames:
         j = (i-1) * 5
         k = (i-1) * 4
-        Member(k+1, j+1, j+2, 0.0,  1, 1)
-        Member(k+2, j+2, j+3, 0.0,  2, 2)
-        Member(k+3, j+3, j+4, 0.0,  2, 2)
-        Member(k+4, j+4, j+5, 0.0,  1, 1)
+        Member(k+1,  j+1, j+2, 0.0,  1, 1)
+        Member(k+2,  j+2, j+3, 0.0,  2, 2)
+        Member(k+3,  j+3, j+4, 0.0,  2, 2)
+        Member(k+4,  j+4, j+5, 0.0,  1, 1)
         i += 1
 
     # Purlins
     i = 1
     while i <= number_frames-1:
         j = (i-1) * 5
-        Member(4*number_frames+i                    , j+2, j+7,   0.0,  3, 3,  1, 1)
-        Member(4*number_frames+i +   number_frames-1, j+3, j+8,   0.0,  3, 3)
-        Member(4*number_frames+i + 2*number_frames-2, j+4, j+9, 180.0,  3, 3,  1, 1)
+        Member(4*number_frames+i                    ,  j+2, j+7,   0.0,  3, 3,  1, 1)
+        Member(4*number_frames+i +   number_frames-1,  j+3, j+8,   0.0,  3, 3)
+        Member(4*number_frames+i + 2*number_frames-2,  j+4, j+9, 180.0,  3, 3,  1, 1)
         i += 1
 
     # Diagonals on the wall
@@ -229,7 +222,7 @@ def main(hall_width_L, hall_height_h_o, hall_height_h_m, number_frames, frame_sp
 
 # -------------------------------------------------------------
     # Nodal Forces
-    NodalLoad(1, 1, "9 4 7 2", LoadDirectionType.LOAD_DIRECTION_GLOBAL_Z_OR_USER_DEFINED_W, 2000.0)
+    NodalLoad(1, 3, "9 4 7 2", LoadDirectionType.LOAD_DIRECTION_GLOBAL_Z_OR_USER_DEFINED_W, 2000.0)
 
 # -------------------------------------------------------------
     # Member Loads
@@ -249,7 +242,7 @@ def main(hall_width_L, hall_height_h_o, hall_height_h_m, number_frames, frame_sp
 
     ## Force Type Member Load with LOAD_DISTRIBUTION_CONCENTRATED_2x2 ##
     MemberLoad.Force(0, 7, 6, "2 3 6 7", MemberLoadDistribution.LOAD_DISTRIBUTION_CONCENTRATED_2x2, MemberLoadDirection.LOAD_DIRECTION_LOCAL_Z, load_parameter=[False, False, False, 5000, 1, 2, 3])
-
+    
     ## Force Type Member Load with LOAD_DISTRIBUTION_CONCENTRATED_2x ##
     MemberLoad.Force(0, 8, 7, "2 3 6 7", MemberLoadDistribution.LOAD_DISTRIBUTION_CONCENTRATED_2, MemberLoadDirection.LOAD_DIRECTION_LOCAL_Z, load_parameter=[False, False, 5000, 6000, 1, 2])
 
@@ -264,12 +257,13 @@ def main(hall_width_L, hall_height_h_o, hall_height_h_m, number_frames, frame_sp
 
     ## Force Type Member Load with LOAD_DISTRIBUTION_PARABOLIC ##
     MemberLoad.Force(0, 12, 11, "2 3 6 7", MemberLoadDistribution.LOAD_DISTRIBUTION_PARABOLIC, MemberLoadDirection.LOAD_DIRECTION_LOCAL_Z, load_parameter=[4000, 8000, 12000])
-
+     
     ## Force Type Member Load with LOAD_DISTRIBUTION_VARYING ##
     MemberLoad.Force(0, 13, 12, "2 3 6 7", MemberLoadDistribution.LOAD_DISTRIBUTION_VARYING, MemberLoadDirection.LOAD_DIRECTION_LOCAL_Z, load_parameter=[[1, 1, 4000], [2, 1, 5000]])
-
+     
     ## Force Type Member Load with LOAD_DISTRIBUTION_VARYING_IN_Z ##
     MemberLoad.Force(0, 14, 13, "2 3 6 7", MemberLoadDistribution.LOAD_DISTRIBUTION_VARYING_IN_Z, MemberLoadDirection.LOAD_DIRECTION_LOCAL_Z, load_parameter=[[1, 1, 4000], [2, 1, 5000]])
+    
 # -------------------------------------------------------------
     # Surface Loads
     SurfaceLoad(1, 3, "3", 20000)
@@ -277,7 +271,7 @@ def main(hall_width_L, hall_height_h_o, hall_height_h_m, number_frames, frame_sp
 # -------------------------------------------------------------
     # Finish client model
     print("Calculating...")
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
 # -------------------------------------------------------------
     # Calculate all
@@ -285,4 +279,4 @@ def main(hall_width_L, hall_height_h_o, hall_height_h_m, number_frames, frame_sp
     print("Done")
 
 if __name__ == '__main__':
-    window(main)
+    window(main, modelLst)
diff --git a/RFEM/BasicObjects/line.py b/RFEM/BasicObjects/line.py
index 20e6812b..d0195d2d 100644
--- a/RFEM/BasicObjects/line.py
+++ b/RFEM/BasicObjects/line.py
@@ -9,7 +9,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Line
-        clientObject = clientModel.factory.create('ns0:line')
+        clientObject = Model.clientModel.factory.create('ns0:line')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -28,7 +28,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Line to client model
-        clientModel.service.set_line(clientObject)
+        Model.clientModel.service.set_line(clientObject)
 
     def Polyline(self,
                  no: int = 1,
@@ -37,7 +37,7 @@ def Polyline(self,
                  params: dict = {}):
 
         # Client model | Line
-        clientObject = clientModel.factory.create('ns0:line')
+        clientObject = Model.clientModel.factory.create('ns0:line')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -59,7 +59,7 @@ def Polyline(self,
             clientObject[key] = params[key]
 
         # Add Line to client model
-        clientModel.service.set_line(clientObject)
+        Model.clientModel.service.set_line(clientObject)
 
     def Arc(self,
             no: int = 1,
@@ -70,7 +70,7 @@ def Arc(self,
             params: dict = {}):
 
         # Client model | Line
-        clientObject = clientModel.factory.create('ns0:line')
+        clientObject = Model.clientModel.factory.create('ns0:line')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -98,7 +98,7 @@ def Arc(self,
             clientObject[key] = params[key]
 
         # Add Line to client model
-        clientModel.service.set_line(clientObject)
+        Model.clientModel.service.set_line(clientObject)
 
     def Circle(self,
                 no: int = 1,
@@ -110,7 +110,7 @@ def Circle(self,
                 params: dict = {}):
 
         # Client model | Line
-        clientObject = clientModel.factory.create('ns0:line')
+        clientObject = Model.clientModel.factory.create('ns0:line')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -144,7 +144,7 @@ def Circle(self,
             clientObject[key] = params[key]
 
         # Add Line to client model
-        clientModel.service.set_line(clientObject)
+        Model.clientModel.service.set_line(clientObject)
 
     def EllipticalArc(self,
                       no: int = 72,
@@ -158,7 +158,7 @@ def EllipticalArc(self,
                       params: dict = {}):
 
         # Client model | Line
-        clientObject = clientModel.factory.create('ns0:line')
+        clientObject = Model.clientModel.factory.create('ns0:line')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -198,7 +198,7 @@ def EllipticalArc(self,
             clientObject[key] = params[key]
 
         # Add Line to client model
-        clientModel.service.set_line(clientObject)
+        Model.clientModel.service.set_line(clientObject)
 
     def Ellipse(self,
                 no: int = 1,
@@ -208,7 +208,7 @@ def Ellipse(self,
                 params: dict = {}):
 
         # Client model | Line
-        clientObject = clientModel.factory.create('ns0:line')
+        clientObject = Model.clientModel.factory.create('ns0:line')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -237,7 +237,7 @@ def Ellipse(self,
             clientObject[key] = params[key]
 
         # Add Line to client model
-        clientModel.service.set_line(clientObject)
+        Model.clientModel.service.set_line(clientObject)
 
     def Parabola(self,
                  no: int = 1,
@@ -248,7 +248,7 @@ def Parabola(self,
                  params: dict = {}):
 
         # Client model | Line
-        clientObject = clientModel.factory.create('ns0:line')
+        clientObject = Model.clientModel.factory.create('ns0:line')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -279,7 +279,7 @@ def Parabola(self,
             clientObject[key] = params[key]
 
         # Add Line to client model
-        clientModel.service.set_line(clientObject)
+        Model.clientModel.service.set_line(clientObject)
 
     def Spline(self,
                no: int = 1,
@@ -288,7 +288,7 @@ def Spline(self,
                params: dict = {}):
 
         # Client model | Line
-        clientObject = clientModel.factory.create('ns0:line')
+        clientObject = Model.clientModel.factory.create('ns0:line')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -310,7 +310,7 @@ def Spline(self,
             clientObject[key] = params[key]
 
         # Add Line to client model
-        clientModel.service.set_line(clientObject)
+        Model.clientModel.service.set_line(clientObject)
 
     def NURBS(self,
               no: int = 1,
@@ -321,7 +321,7 @@ def NURBS(self,
               params: dict = {}):
 
         # Client model | Line
-        clientObject = clientModel.factory.create('ns0:line')
+        clientObject = Model.clientModel.factory.create('ns0:line')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -340,14 +340,14 @@ def NURBS(self,
 
         nurbs_control_points = []
         for i in range(len(control_points)):
-            point = clientModel.factory.create('ns0:line_nurbs_control_points_by_components')
+            point = Model.clientModel.factory.create('ns0:line_nurbs_control_points_by_components')
             point.no = i+1
             point.global_coordinate_x = control_points[i][0]
             point.global_coordinate_y = control_points[i][1]
             point.global_coordinate_z = control_points[i][2]
             point.weight = weights[i]
             nurbs_control_points.append(point)
-        clientObject.nurbs_control_points_by_components = clientModel.factory.create('ns0:line_nurbs_control_points_by_components')
+        clientObject.nurbs_control_points_by_components = Model.clientModel.factory.create('ns0:line_nurbs_control_points_by_components')
 
         # Comment
         clientObject.comment = comment
@@ -357,4 +357,4 @@ def NURBS(self,
             clientObject[key] = params[key]
 
         # Add Line to client model
-        clientModel.service.set_line(clientObject)
+        Model.clientModel.service.set_line(clientObject)
diff --git a/RFEM/BasicObjects/lineSet.py b/RFEM/BasicObjects/lineSet.py
index bc583a4a..1ab47cd2 100644
--- a/RFEM/BasicObjects/lineSet.py
+++ b/RFEM/BasicObjects/lineSet.py
@@ -10,7 +10,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Line Set
-        clientObject = clientModel.factory.create('ns0:line_set')
+        clientObject = Model.clientModel.factory.create('ns0:line_set')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -32,7 +32,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Line Set to client model
-        clientModel.service.set_line_set(clientObject)
+        Model.clientModel.service.set_line_set(clientObject)
 
     def ContinuousLines(self,
                  no: int = 1,
@@ -42,7 +42,7 @@ def ContinuousLines(self,
                  params: dict = {}):
 
         # Client model | Line Set
-        clientObject = clientModel.factory.create('ns0:line_set')
+        clientObject = Model.clientModel.factory.create('ns0:line_set')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -64,7 +64,7 @@ def ContinuousLines(self,
             clientObject[key] = params[key]
 
         # Add Line Set to client model
-        clientModel.service.set_line_set(clientObject)
+        Model.clientModel.service.set_line_set(clientObject)
 
     def GroupOfLines(self,
                  no: int = 1,
@@ -74,7 +74,7 @@ def GroupOfLines(self,
                  params: dict = {}):
 
         # Client model | Line Set
-        clientObject = clientModel.factory.create('ns0:line_set')
+        clientObject = Model.clientModel.factory.create('ns0:line_set')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -96,4 +96,4 @@ def GroupOfLines(self,
             clientObject[key] = params[key]
 
         # Add Line Set to client model
-        clientModel.service.set_line_set(clientObject)
+        Model.clientModel.service.set_line_set(clientObject)
diff --git a/RFEM/BasicObjects/material.py b/RFEM/BasicObjects/material.py
index 809c9e5b..16c10597 100644
--- a/RFEM/BasicObjects/material.py
+++ b/RFEM/BasicObjects/material.py
@@ -1,4 +1,4 @@
-from RFEM.initModel import *
+from RFEM.initModel import clearAtributes, Model
 
 class Material():
     def __init__(self,
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Material
-        clientObject = clientModel.factory.create('ns0:material')
+        clientObject = Model.clientModel.factory.create('ns0:material')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -27,4 +27,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add material to client model
-        clientModel.service.set_material(clientObject)
+        Model.clientModel.service.set_material(clientObject)
diff --git a/RFEM/BasicObjects/member.py b/RFEM/BasicObjects/member.py
index e7567012..0d54d34e 100644
--- a/RFEM/BasicObjects/member.py
+++ b/RFEM/BasicObjects/member.py
@@ -28,7 +28,7 @@ def __init__(self,
         """
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -68,8 +68,8 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
-
+        Model.clientModel.service.set_member(clientObject)    
+    
     def Beam(self,
             no: int = 1,
             start_node_no: int = 1,
@@ -138,7 +138,7 @@ def Beam(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -330,7 +330,7 @@ def Beam(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Rigid(self,
                 no: int = 1,
@@ -364,7 +364,7 @@ def Rigid(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -431,7 +431,7 @@ def Rigid(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
 ## Rib Member should be corrected.
     def Rib(self,
@@ -474,7 +474,7 @@ def Rib(self,
         """
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -557,7 +557,7 @@ def Rib(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Truss(self,
             no: int = 1,
@@ -597,7 +597,7 @@ def Truss(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -672,7 +672,7 @@ def Truss(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def TrussOnlyN(self,
             no: int = 1,
@@ -712,7 +712,7 @@ def TrussOnlyN(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -787,7 +787,7 @@ def TrussOnlyN(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Tension(self,
             no: int = 1,
@@ -827,7 +827,7 @@ def Tension(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -902,7 +902,7 @@ def Tension(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Compression(self,
             no: int = 1,
@@ -942,7 +942,7 @@ def Compression(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1017,7 +1017,7 @@ def Compression(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Buckling(self,
             no: int = 1,
@@ -1057,7 +1057,7 @@ def Buckling(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1132,7 +1132,7 @@ def Buckling(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Cable(self,
             no: int = 1,
@@ -1170,7 +1170,7 @@ def Cable(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1236,7 +1236,7 @@ def Cable(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def ResultBeam(self,
             no: int = 1,
@@ -1311,7 +1311,7 @@ def ResultBeam(self,
             integration_parameters[result_beam_radius]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1493,7 +1493,7 @@ def ResultBeam(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def DefinableStiffness(self,
             no: int = 1,
@@ -1529,7 +1529,7 @@ def DefinableStiffness(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1599,7 +1599,7 @@ def DefinableStiffness(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def CouplingRigidRigid(self,
                         no: int = 1,
@@ -1629,7 +1629,7 @@ def CouplingRigidRigid(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1675,7 +1675,7 @@ def CouplingRigidRigid(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def CouplingRigidHinge(self,
                         no: int = 1,
@@ -1705,7 +1705,7 @@ def CouplingRigidHinge(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1751,7 +1751,7 @@ def CouplingRigidHinge(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def CouplingHingeRigid(self,
                         no: int = 1,
@@ -1781,7 +1781,7 @@ def CouplingHingeRigid(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1827,7 +1827,7 @@ def CouplingHingeRigid(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def CouplingHingeHinge(self,
                         no: int = 1,
@@ -1857,7 +1857,7 @@ def CouplingHingeHinge(self,
             rotation_parameters[rotation_surface, rotation_surface_plane_type]
         """
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1903,4 +1903,4 @@ def CouplingHingeHinge(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_member(clientObject)
diff --git a/RFEM/BasicObjects/memberByLine.py b/RFEM/BasicObjects/memberByLine.py
index a7ee6301..fae39ffd 100644
--- a/RFEM/BasicObjects/memberByLine.py
+++ b/RFEM/BasicObjects/memberByLine.py
@@ -1,7 +1,7 @@
 from RFEM.enums import MemberType
 from RFEM.initModel import *
 
-class MemberByLine():
+class Member_by_line():
     def __init__(self,
                  no: int = 1,
                  member_type = MemberType.TYPE_BEAM,
@@ -15,7 +15,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -25,7 +25,7 @@ def __init__(self,
 
         # Member Type
         clientObject.type = member_type.name
-
+        
         # Line No.
         clientObject.line = line_no
 
@@ -52,7 +52,8 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
+            
 
     def Beam(self,
             no: int = 1,
@@ -67,7 +68,7 @@ def Beam(self,
             params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -104,7 +105,7 @@ def Beam(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Rigid(self,
                 no: int = 1,
@@ -119,7 +120,7 @@ def Rigid(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -156,7 +157,7 @@ def Rigid(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Rib(self,
             no: int = 1,
@@ -171,7 +172,7 @@ def Rib(self,
             params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -208,7 +209,7 @@ def Rib(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Truss(self,
                 no: int = 1,
@@ -223,7 +224,7 @@ def Truss(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -260,7 +261,7 @@ def Truss(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def TrussOnlyN(self,
                 no: int = 1,
@@ -275,7 +276,7 @@ def TrussOnlyN(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -312,7 +313,7 @@ def TrussOnlyN(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Tension(self,
                 no: int = 1,
@@ -327,7 +328,7 @@ def Tension(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -364,7 +365,7 @@ def Tension(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Compression(self,
                 no: int = 1,
@@ -379,7 +380,7 @@ def Compression(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -416,7 +417,7 @@ def Compression(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Buckling(self,
                 no: int = 1,
@@ -431,7 +432,7 @@ def Buckling(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -468,7 +469,7 @@ def Buckling(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def Cable(self,
                 no: int = 1,
@@ -483,7 +484,7 @@ def Cable(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -520,7 +521,7 @@ def Cable(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def ResultBeam(self,
                 no: int = 1,
@@ -535,7 +536,7 @@ def ResultBeam(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -572,7 +573,7 @@ def ResultBeam(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def DefinableStifness(self,
                 no: int = 1,
@@ -587,7 +588,7 @@ def DefinableStifness(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -624,7 +625,7 @@ def DefinableStifness(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def CouplingRigid_Rigid(self,
                 no: int = 1,
@@ -639,7 +640,7 @@ def CouplingRigid_Rigid(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -676,7 +677,7 @@ def CouplingRigid_Rigid(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def CouplingRigid_Hinge(self,
                 no: int = 1,
@@ -691,7 +692,7 @@ def CouplingRigid_Hinge(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -728,7 +729,7 @@ def CouplingRigid_Hinge(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def CouplingHinge_Rigid(self,
                 no: int = 1,
@@ -743,7 +744,7 @@ def CouplingHinge_Rigid(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -780,7 +781,7 @@ def CouplingHinge_Rigid(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
 
     def CouplingHinge_Hinge(self,
                 no: int = 1,
@@ -795,7 +796,7 @@ def CouplingHinge_Hinge(self,
                 params: dict = {}):
 
         # Client model | Member
-        clientObject = clientModel.factory.create('ns0:member')
+        clientObject = Model.clientModel.factory.create('ns0:member')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -832,4 +833,4 @@ def CouplingHinge_Hinge(self,
             clientObject[key] = params[key]
 
         # Add Member to client model
-        clientModel.service.set_member(clientObject)
+        Model.clientModel.service.set_member(clientObject)
diff --git a/RFEM/BasicObjects/memberSet.py b/RFEM/BasicObjects/memberSet.py
index 38ef31e4..7591f0f6 100644
--- a/RFEM/BasicObjects/memberSet.py
+++ b/RFEM/BasicObjects/memberSet.py
@@ -10,7 +10,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Member Set
-        clientObject = clientModel.factory.create('ns0:member_set')
+        clientObject = Model.clientModel.factory.create('ns0:member_set')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -32,7 +32,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Member Set to client model
-        clientModel.service.set_member_set(clientObject)
+        Model.clientModel.service.set_member_set(clientObject)
 
     def ContinuousMembers(self,
                           no: int = 1,
@@ -42,7 +42,7 @@ def ContinuousMembers(self,
                           params: dict = {}):
 
         # Client model | Member Set
-        clientObject = clientModel.factory.create('ns0:member_set')
+        clientObject = Model.clientModel.factory.create('ns0:member_set')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -64,7 +64,7 @@ def ContinuousMembers(self,
             clientObject[key] = params[key]
 
         # Add Member Set to client model
-        clientModel.service.set_member_set(clientObject)
+        Model.clientModel.service.set_member_set(clientObject)
 
     def GroupOfmembers(self,
                        no: int = 1,
@@ -74,7 +74,7 @@ def GroupOfmembers(self,
                        params: dict = {}):
 
         # Client model | Member Set
-        clientObject = clientModel.factory.create('ns0:member_set')
+        clientObject = Model.clientModel.factory.create('ns0:member_set')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -96,4 +96,4 @@ def GroupOfmembers(self,
             clientObject[key] = params[key]
 
         # Add Member Set to client model
-        clientModel.service.set_member_set(clientObject)
+        Model.clientModel.service.set_member_set(clientObject)
diff --git a/RFEM/BasicObjects/node.py b/RFEM/BasicObjects/node.py
index 298af1b4..f9352e7f 100644
--- a/RFEM/BasicObjects/node.py
+++ b/RFEM/BasicObjects/node.py
@@ -22,7 +22,7 @@ def __init__(self,
             params (dict, optional): Parameters
         '''
         # Client model | Node
-        clientObject = clientModel.factory.create('ns0:node')
+        clientObject = Model.clientModel.factory.create('ns0:node')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -43,7 +43,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Node to client model
-        clientModel.service.set_node(clientObject)
+        Model.clientModel.service.set_node(clientObject)
 
     def Standard(self,
                  no: int = 1,
@@ -72,7 +72,7 @@ def Standard(self,
         '''
 
         # Client model | Node
-        clientObject = clientModel.factory.create('ns0:node')
+        clientObject = Model.clientModel.factory.create('ns0:node')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -136,7 +136,8 @@ def Standard(self,
             clientObject[key] = params[key]
 
         # Add Node to client model
-        clientModel.service.set_node(clientObject)
+        Model.clientModel.service.set_node(clientObject)
+        
 
     def BetweenTwoNodes(self,
                  no: int = 1,
@@ -169,7 +170,7 @@ def BetweenTwoNodes(self,
         '''
 
         # Client model | Node
-        clientObject = clientModel.factory.create('ns0:node')
+        clientObject = Model.clientModel.factory.create('ns0:node')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -213,7 +214,7 @@ def BetweenTwoNodes(self,
             clientObject[key] = params[key]
 
         # Add Node to client model
-        clientModel.service.set_node(clientObject)
+        Model.clientModel.service.set_node(clientObject)
 
     def BetweenTwoPoints(self,
                  no: int = 1,
@@ -252,7 +253,7 @@ def BetweenTwoPoints(self,
         '''
 
         # Client model | Node
-        clientObject = clientModel.factory.create('ns0:node')
+        clientObject = Model.clientModel.factory.create('ns0:node')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -296,7 +297,7 @@ def BetweenTwoPoints(self,
             clientObject[key] = params[key]
 
         # Add Node to client model
-        clientModel.service.set_node(clientObject)
+        Model.clientModel.service.set_node(clientObject)
 
     def OnLine(self,
                  no: int = 1,
@@ -323,7 +324,7 @@ def OnLine(self,
         '''
 
         # Client model | Node
-        clientObject = clientModel.factory.create('ns0:node')
+        clientObject = Model.clientModel.factory.create('ns0:node')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -354,7 +355,7 @@ def OnLine(self,
             clientObject[key] = params[key]
 
         # Add Node to client model
-        clientModel.service.set_node(clientObject)
+        Model.clientModel.service.set_node(clientObject)
 
     def OnMember(self,
                  no: int = 1,
@@ -381,7 +382,7 @@ def OnMember(self,
         '''
 
         # Client model | Node
-        clientObject = clientModel.factory.create('ns0:node')
+        clientObject = Model.clientModel.factory.create('ns0:node')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -415,4 +416,4 @@ def OnMember(self,
             clientObject[key] = params[key]
 
         # Add Node to client model
-        clientModel.service.set_node(clientObject)
+        Model.clientModel.service.set_node(clientObject)
diff --git a/RFEM/BasicObjects/opening.py b/RFEM/BasicObjects/opening.py
index 30444cfd..15679711 100644
--- a/RFEM/BasicObjects/opening.py
+++ b/RFEM/BasicObjects/opening.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Opening
-        clientObject = clientModel.factory.create('ns0:opening')
+        clientObject = Model.clientModel.factory.create('ns0:opening')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -27,4 +27,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Opening to client model
-        clientModel.service.set_opening(clientObject)
+        Model.clientModel.service.set_opening(clientObject)
diff --git a/RFEM/BasicObjects/section.py b/RFEM/BasicObjects/section.py
index 9126636e..b21e6120 100644
--- a/RFEM/BasicObjects/section.py
+++ b/RFEM/BasicObjects/section.py
@@ -9,7 +9,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Section
-        clientObject = clientModel.factory.create('ns0:section')
+        clientObject = Model.clientModel.factory.create('ns0:section')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -31,4 +31,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Section to client model
-        clientModel.service.set_section(clientObject)
+        Model.clientModel.service.set_section(clientObject)
diff --git a/RFEM/BasicObjects/solid.py b/RFEM/BasicObjects/solid.py
index c6e4c43b..3a6ee3ec 100644
--- a/RFEM/BasicObjects/solid.py
+++ b/RFEM/BasicObjects/solid.py
@@ -9,7 +9,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Solid
-        clientObject = clientModel.factory.create('ns0:solid')
+        clientObject = Model.clientModel.factory.create('ns0:solid')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -31,7 +31,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Surface to client model
-        clientModel.service.set_solid(clientObject)
+        Model.clientModel.service.set_solid(clientObject)
 
     def Standard(self,
                  no: int = 1,
@@ -41,7 +41,7 @@ def Standard(self,
                  params: dict = {}):
 
         # Client model | Solid
-        clientObject = clientModel.factory.create('ns0:solid')
+        clientObject = Model.clientModel.factory.create('ns0:solid')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -63,7 +63,7 @@ def Standard(self,
             clientObject[key] = params[key]
 
         # Add Surface to client model
-        clientModel.service.set_solid(clientObject)
+        Model.clientModel.service.set_solid(clientObject)
 
     def Gas(self,
                  no: int = 1,
@@ -73,7 +73,7 @@ def Gas(self,
                  params: dict = {}):
 
         # Client model | Solid
-        clientObject = clientModel.factory.create('ns0:solid')
+        clientObject = Model.clientModel.factory.create('ns0:solid')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -95,7 +95,7 @@ def Gas(self,
             clientObject[key] = params[key]
 
         # Add Surface to client model
-        clientModel.service.set_solid(clientObject)
+        Model.clientModel.service.set_solid(clientObject)
 
     def Contact(self,
                  no: int = 1,
@@ -105,7 +105,7 @@ def Contact(self,
                  params: dict = {}):
 
         # Client model | Solid
-        clientObject = clientModel.factory.create('ns0:solid')
+        clientObject = Model.clientModel.factory.create('ns0:solid')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -127,4 +127,4 @@ def Contact(self,
             clientObject[key] = params[key]
 
         # Add Surface to client model
-        clientModel.service.set_solid(clientObject)
+        Model.clientModel.service.set_solid(clientObject)
diff --git a/RFEM/BasicObjects/solidSet.py b/RFEM/BasicObjects/solidSet.py
index 09b111c8..4f8cb0f7 100644
--- a/RFEM/BasicObjects/solidSet.py
+++ b/RFEM/BasicObjects/solidSet.py
@@ -10,7 +10,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Solid Set
-        clientObject = clientModel.factory.create('ns0:solid_set')
+        clientObject = Model.clientModel.factory.create('ns0:solid_set')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -32,7 +32,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Solid Set to client model
-        clientModel.service.set_solid_set(clientObject)
+        Model.clientModel.service.set_solid_set(clientObject)
 
     def ContinuousSolids(self,
                  no: int = 1,
@@ -42,7 +42,7 @@ def ContinuousSolids(self,
                  params: dict = {}):
 
         # Client model | Solid Set
-        clientObject = clientModel.factory.create('ns0:solid_set')
+        clientObject = Model.clientModel.factory.create('ns0:solid_set')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -64,7 +64,7 @@ def ContinuousSolids(self,
             clientObject[key] = params[key]
 
         # Add Solid Set to client model
-        clientModel.service.set_solid_set(clientObject)
+        Model.clientModel.service.set_solid_set(clientObject)
 
     def GroupOfSolids(self,
                  no: int = 1,
@@ -74,7 +74,7 @@ def GroupOfSolids(self,
                  params: dict = {}):
 
         # Client model | Solid Set
-        clientObject = clientModel.factory.create('ns0:solid_set')
+        clientObject = Model.clientModel.factory.create('ns0:solid_set')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -96,4 +96,4 @@ def GroupOfSolids(self,
             clientObject[key] = params[key]
 
         # Add Solid Set to client model
-        clientModel.service.set_solid_set(clientObject)
+        Model.clientModel.service.set_solid_set(clientObject)
diff --git a/RFEM/BasicObjects/surface.py b/RFEM/BasicObjects/surface.py
index ea6fba50..9d3b7748 100644
--- a/RFEM/BasicObjects/surface.py
+++ b/RFEM/BasicObjects/surface.py
@@ -16,7 +16,7 @@ def __init__(self,
         '''
 
         # Client model | Surface
-        clientObject = clientModel.factory.create('ns0:surface')
+        clientObject = Model.clientModel.factory.create('ns0:surface')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -38,7 +38,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Surface to client model
-        clientModel.service.set_surface(clientObject)
+        Model.clientModel.service.set_surface(clientObject)
 
     def Standard(self,
                  no: int = 1,
@@ -61,7 +61,7 @@ def Standard(self,
         '''
 
         # Client model | Surface
-        clientObject = clientModel.factory.create('ns0:surface')
+        clientObject = Model.clientModel.factory.create('ns0:surface')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -103,7 +103,7 @@ def WithoutThickness(self,
         '''
 
         # Client model | Surface
-        clientObject = clientModel.factory.create('ns0:surface')
+        clientObject = Model.clientModel.factory.create('ns0:surface')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -144,7 +144,7 @@ def Rigid(self,
         '''
 
         # Client model | Surface
-        clientObject = clientModel.factory.create('ns0:surface')
+        clientObject = Model.clientModel.factory.create('ns0:surface')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -186,7 +186,7 @@ def Membrane(self,
         '''
 
         # Client model | Surface
-        clientObject = clientModel.factory.create('ns0:surface')
+        clientObject = Model.clientModel.factory.create('ns0:surface')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -229,7 +229,7 @@ def WithoutMemberaneTension(self,
         '''
 
         # Client model | Surface
-        clientObject = clientModel.factory.create('ns0:surface')
+        clientObject = Model.clientModel.factory.create('ns0:surface')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -278,7 +278,7 @@ def LoadDistribution(self,
         '''
 
         # Client model | Surface
-        clientObject = clientModel.factory.create('ns0:surface')
+        clientObject = Model.clientModel.factory.create('ns0:surface')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -326,8 +326,8 @@ def LoadDistribution(self,
             clientObject[key] = params[key]
 
         # Add Surface to client model
-        clientModel.service.set_surface(clientObject)
-
+        Model.clientModel.service.set_surface(clientObject)
+    
     def __CreateGeometryAndSetToModel(self):
 
         # Geometry Type
@@ -337,7 +337,7 @@ def __CreateGeometryAndSetToModel(self):
             if len(self.geometry_type_parameters) != 4:
                 raise Exception('WARNING: The geometry type parameter needs to be of length 4. Kindly check list inputs for completeness and correctness.')
             for line in boundary_lines_list:
-                if clientModel.service.get_line(int(line))['type'] != 'TYPE_NURBS':
+                if Model.clientModel.service.get_line(int(line))['type'] != 'TYPE_NURBS':
                     raise Exception('WARNING: For a NURBS Surface, the boundary lines need to be NURBS Curves')
             self.clientObject.nurbs_control_point_count_in_direction_u = self.geometry_type_parameters[0]
             self.clientObject.nurbs_control_point_count_in_direction_v = self.geometry_type_parameters[1]
@@ -372,4 +372,4 @@ def __CreateGeometryAndSetToModel(self):
             self.clientObject[key] = self.params[key]
 
         # Add Surface to client model
-        clientModel.service.set_surface(self.clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_surface(self.clientObject)
\ No newline at end of file
diff --git a/RFEM/BasicObjects/surfaceSet.py b/RFEM/BasicObjects/surfaceSet.py
index edf78673..0db60405 100644
--- a/RFEM/BasicObjects/surfaceSet.py
+++ b/RFEM/BasicObjects/surfaceSet.py
@@ -10,7 +10,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Surface Set
-        clientObject = clientModel.factory.create('ns0:surface_set')
+        clientObject = Model.clientModel.factory.create('ns0:surface_set')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -32,7 +32,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Surface Set to client model
-        clientModel.service.set_surface_set(clientObject)
+        Model.clientModel.service.set_surface_set(clientObject)
 
     def ContinuousSurfaces(self,
                  no: int = 1,
@@ -42,7 +42,7 @@ def ContinuousSurfaces(self,
                  params: dict = {}):
 
         # Client model | Surface Set
-        clientObject = clientModel.factory.create('ns0:surface_set')
+        clientObject = Model.clientModel.factory.create('ns0:surface_set')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -64,7 +64,7 @@ def ContinuousSurfaces(self,
             clientObject[key] = params[key]
 
         # Add Surface Set to client model
-        clientModel.service.set_surface_set(clientObject)
+        Model.clientModel.service.set_surface_set(clientObject)
 
     def GroupOfSurfaces(self,
                  no: int = 1,
@@ -74,7 +74,7 @@ def GroupOfSurfaces(self,
                  params: dict = {}):
 
         # Client model | Surface Set
-        clientObject = clientModel.factory.create('ns0:surface_set')
+        clientObject = Model.clientModel.factory.create('ns0:surface_set')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -96,4 +96,4 @@ def GroupOfSurfaces(self,
             clientObject[key] = params[key]
 
         # Add Surface Set to client model
-        clientModel.service.set_surface_set(clientObject)
+        Model.clientModel.service.set_surface_set(clientObject)
diff --git a/RFEM/BasicObjects/thickness.py b/RFEM/BasicObjects/thickness.py
index 628f92e7..bc37e43a 100644
--- a/RFEM/BasicObjects/thickness.py
+++ b/RFEM/BasicObjects/thickness.py
@@ -20,7 +20,7 @@ def __init__(self,
         '''
 
         # Client model | Thickness
-        clientObject = clientModel.factory.create('ns0:thickness')
+        clientObject = Model.clientModel.factory.create('ns0:thickness')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -50,7 +50,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Thickness to client model
-        clientModel.service.set_thickness(clientObject)
+        Model.clientModel.service.set_thickness(clientObject)
 
     def Uniform(self,
                  no: int = 1,
@@ -71,7 +71,7 @@ def Uniform(self,
         '''
 
         # Client model | Thickness
-        clientObject = clientModel.factory.create('ns0:thickness')
+        clientObject = Model.clientModel.factory.create('ns0:thickness')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -103,7 +103,7 @@ def Uniform(self,
             clientObject[key] = params[key]
 
         # Add Thickness to client model
-        clientModel.service.set_thickness(clientObject)
+        Model.clientModel.service.set_thickness(clientObject)
 
     def Variable_3Nodes(self,
                  no: int = 1,
@@ -124,7 +124,7 @@ def Variable_3Nodes(self,
         '''
 
         # Client model | Thickness
-        clientObject = clientModel.factory.create('ns0:thickness')
+        clientObject = Model.clientModel.factory.create('ns0:thickness')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -163,7 +163,7 @@ def Variable_3Nodes(self,
             clientObject[key] = params[key]
 
         # Add Thickness to client model
-        clientModel.service.set_thickness(clientObject)
+        Model.clientModel.service.set_thickness(clientObject)
 
     def Variable_2NodesAndDirection(self,
                  no: int = 1,
@@ -184,7 +184,7 @@ def Variable_2NodesAndDirection(self,
         '''
 
         # Client model | Thickness
-        clientObject = clientModel.factory.create('ns0:thickness')
+        clientObject = Model.clientModel.factory.create('ns0:thickness')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -220,7 +220,7 @@ def Variable_2NodesAndDirection(self,
             clientObject[key] = params[key]
 
         # Add Thickness to client model
-        clientModel.service.set_thickness(clientObject)
+        Model.clientModel.service.set_thickness(clientObject)
 
     def Variable_4SurfaceCorners(self,
                  no: int = 1,
@@ -241,7 +241,7 @@ def Variable_4SurfaceCorners(self,
         '''
 
         # Client model | Thickness
-        clientObject = clientModel.factory.create('ns0:thickness')
+        clientObject = Model.clientModel.factory.create('ns0:thickness')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -282,7 +282,7 @@ def Variable_4SurfaceCorners(self,
             clientObject[key] = params[key]
 
         # Add Thickness to client model
-        clientModel.service.set_thickness(clientObject)
+        Model.clientModel.service.set_thickness(clientObject)
 
     def Variable_Circle(self,
                  no: int = 1,
@@ -303,7 +303,7 @@ def Variable_Circle(self,
         '''
 
         # Client model | Thickness
-        clientObject = clientModel.factory.create('ns0:thickness')
+        clientObject = Model.clientModel.factory.create('ns0:thickness')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -338,7 +338,7 @@ def Variable_Circle(self,
             clientObject[key] = params[key]
 
         # Add Thickness to client model
-        clientModel.service.set_thickness(clientObject)
+        Model.clientModel.service.set_thickness(clientObject)
 
     def Layers(self,
                  no: int = 1,
@@ -358,7 +358,7 @@ def Layers(self,
         '''
 
         # Client model | Thickness
-        clientObject = clientModel.factory.create('ns0:thickness')
+        clientObject = Model.clientModel.factory.create('ns0:thickness')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -375,10 +375,10 @@ def Layers(self,
         clientObject.type = ThicknessType.TYPE_LAYERS.name
 
         # Layers
-        clientObject.layers_reference_table = clientModel.factory.create('ns0:thickness.layers_reference_table')
+        clientObject.layers_reference_table = Model.clientModel.factory.create('ns0:thickness.layers_reference_table')
 
         for i in range(len(layers)):
-            tlrt = clientModel.factory.create('ns0:thickness_layers_reference_table')
+            tlrt = Model.clientModel.factory.create('ns0:thickness_layers_reference_table')
             tlrt.no = no
             tlrt.layer_no = i+1
             tlrt.layer_type = None
@@ -401,7 +401,7 @@ def Layers(self,
             clientObject[key] = params[key]
 
         # Add Thickness to client model
-        clientModel.service.set_thickness(clientObject)
+        Model.clientModel.service.set_thickness(clientObject)
 
     def ShapeOrthotropy(self,
                  no: int = 1,
@@ -452,7 +452,7 @@ def ShapeOrthotropy(self,
         '''
 
         # Client model | Thickness
-        clientObject = clientModel.factory.create('ns0:thickness')
+        clientObject = Model.clientModel.factory.create('ns0:thickness')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -546,7 +546,7 @@ def ShapeOrthotropy(self,
             clientObject[key] = params[key]
 
         # Add Thickness to client model
-        clientModel.service.set_thickness(clientObject)
+        Model.clientModel.service.set_thickness(clientObject)
 
     def StiffnessMatrix(self,
                  no: int = 1,
@@ -591,7 +591,7 @@ def StiffnessMatrix(self,
         '''
 
         # Client model | Thickness
-        clientObject = clientModel.factory.create('ns0:thickness')
+        clientObject = Model.clientModel.factory.create('ns0:thickness')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -655,4 +655,4 @@ def StiffnessMatrix(self,
             clientObject[key] = params[key]
 
         # Add Thickness to client model
-        clientModel.service.set_thickness(clientObject)
+        Model.clientModel.service.set_thickness(clientObject)
diff --git a/RFEM/Imperfections/imperfectionCase.py b/RFEM/Imperfections/imperfectionCase.py
index 4d991202..d16cecd4 100644
--- a/RFEM/Imperfections/imperfectionCase.py
+++ b/RFEM/Imperfections/imperfectionCase.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Imperfection Case
-        clientObject = clientModel.factory.create('ns0:imperfection_case')
+        clientObject = Model.clientModel.factory.create('ns0:imperfection_case')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -21,4 +21,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Imperfection Case to client model
-        clientModel.service.set_imperfection_case(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_imperfection_case(clientObject)
\ No newline at end of file
diff --git a/RFEM/LoadCasesAndCombinations/designSituation.py b/RFEM/LoadCasesAndCombinations/designSituation.py
index 3a943a9c..8b58af98 100644
--- a/RFEM/LoadCasesAndCombinations/designSituation.py
+++ b/RFEM/LoadCasesAndCombinations/designSituation.py
@@ -55,7 +55,7 @@ def __init__(self,
         """
 
         # Client model | Design Situation
-        clientObject = clientModel.factory.create('ns0:design_situation')
+        clientObject = Model.clientModel.factory.create('ns0:design_situation')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -84,4 +84,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Design Situation to client model
-        clientModel.service.set_design_situation(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_design_situation(clientObject)
\ No newline at end of file
diff --git a/RFEM/LoadCasesAndCombinations/loadCase.py b/RFEM/LoadCasesAndCombinations/loadCase.py
index 0501618a..6e7e4549 100644
--- a/RFEM/LoadCasesAndCombinations/loadCase.py
+++ b/RFEM/LoadCasesAndCombinations/loadCase.py
@@ -25,7 +25,7 @@ def __init__(self,
         '''
 
         # Client model | Load Case
-        clientObject = clientModel.factory.create('ns0:load_case')
+        clientObject = Model.clientModel.factory.create('ns0:load_case')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -68,7 +68,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Load Case to client model
-        clientModel.service.set_load_case(clientObject)
+        Model.clientModel.service.set_load_case(clientObject)
 
     def StaticAnalysis(self,
                  no: int = 1,
@@ -118,7 +118,7 @@ def StaticAnalysis(self,
         '''
 
         # Client model | Load Case
-        clientObject = clientModel.factory.create('ns0:load_case')
+        clientObject = Model.clientModel.factory.create('ns0:load_case')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -161,4 +161,4 @@ def StaticAnalysis(self,
             clientObject[key] = params[key]
 
         # Add Load Case to client model
-        clientModel.service.set_load_case(clientObject)
+        Model.clientModel.service.set_load_case(clientObject)
diff --git a/RFEM/LoadCasesAndCombinations/modalAnalysisSettings.py b/RFEM/LoadCasesAndCombinations/modalAnalysisSettings.py
index b7b26cb4..2f69315d 100644
--- a/RFEM/LoadCasesAndCombinations/modalAnalysisSettings.py
+++ b/RFEM/LoadCasesAndCombinations/modalAnalysisSettings.py
@@ -27,7 +27,7 @@ def __init__(self,
             params (dict, optional): Parameters
         """
         # Client model | Surface
-        clientObject = clientModel.factory.create('ns0:modal_analysis_settings')
+        clientObject = Model.clientModel.factory.create('ns0:modal_analysis_settings')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -74,4 +74,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Static Analysis Settings to client model
-        clientModel.service.set_modal_analysis_settings(clientObject)
+        Model.clientModel.service.set_modal_analysis_settings(clientObject)
diff --git a/RFEM/LoadCasesAndCombinations/resultCombination.py b/RFEM/LoadCasesAndCombinations/resultCombination.py
index ecc3cea5..e924a806 100644
--- a/RFEM/LoadCasesAndCombinations/resultCombination.py
+++ b/RFEM/LoadCasesAndCombinations/resultCombination.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Result Combination
-        clientObject = clientModel.factory.create('ns0:result_combination')
+        clientObject = Model.clientModel.factory.create('ns0:result_combination')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -21,4 +21,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Result Combination to client model
-        clientModel.service.set_result_combination(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_result_combination(clientObject)
\ No newline at end of file
diff --git a/RFEM/LoadCasesAndCombinations/spectralAnalysisSettings.py b/RFEM/LoadCasesAndCombinations/spectralAnalysisSettings.py
index 86f21847..274447af 100644
--- a/RFEM/LoadCasesAndCombinations/spectralAnalysisSettings.py
+++ b/RFEM/LoadCasesAndCombinations/spectralAnalysisSettings.py
@@ -17,7 +17,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Surface
-        clientObject = clientModel.factory.create('ns0:spectral_analysis_settings')
+        clientObject = Model.clientModel.factory.create('ns0:spectral_analysis_settings')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -65,4 +65,4 @@ def __init__(self,
         for key in params:
             clientObject[key] = params[key]
         # Add Static Analysis Settings to client model
-        clientModel.service.set_spectral_analysis_settings(clientObject)
+        Model.clientModel.service.set_spectral_analysis_settings(clientObject)
diff --git a/RFEM/LoadCasesAndCombinations/stabilityAnalysisSettings.py b/RFEM/LoadCasesAndCombinations/stabilityAnalysisSettings.py
index 2fdb653b..d8686a05 100644
--- a/RFEM/LoadCasesAndCombinations/stabilityAnalysisSettings.py
+++ b/RFEM/LoadCasesAndCombinations/stabilityAnalysisSettings.py
@@ -18,7 +18,7 @@ def __init__(self,
         '''
 
         # Client model | Stability Analysis Settings
-        clientObject = clientModel.factory.create('ns0:stability_analysis_settings')
+        clientObject = Model.clientModel.factory.create('ns0:stability_analysis_settings')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -396,4 +396,4 @@ def IncrementalyMethodWithoutEigenvalue(self,
             clientObject[key] = params[key]
 
         # Add Stability Analysis Settings to client model
-        clientModel.service.set_stability_analysis_settings(clientObject)
+        Model.clientModel.service.set_stability_analysis_settings(clientObject)
diff --git a/RFEM/LoadCasesAndCombinations/staticAnalysisSettings.py b/RFEM/LoadCasesAndCombinations/staticAnalysisSettings.py
index 3e815548..60358479 100644
--- a/RFEM/LoadCasesAndCombinations/staticAnalysisSettings.py
+++ b/RFEM/LoadCasesAndCombinations/staticAnalysisSettings.py
@@ -20,8 +20,7 @@ def __init__(self,
             params (dict): Parameters
         """
         # Client model | Surface
-        clientObject = clientModel.factory.create(
-            'ns0:static_analysis_settings')
+        clientObject = Model.clientModel.factory.create('ns0:static_analysis_settings')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -44,7 +43,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Static Analysis Settings to client model
-        clientModel.service.set_static_analysis_settings(clientObject)
+        Model.clientModel.service.set_static_analysis_settings(clientObject)
 
     def GeometricallyLinear(self,
                   no: int = 1,
@@ -73,7 +72,7 @@ def GeometricallyLinear(self,
         """
 
         # Client model
-        clientObject = clientModel.factory.create('ns0:static_analysis_settings')
+        clientObject = Model.clientModel.factory.create('ns0:static_analysis_settings')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -150,7 +149,7 @@ def GeometricallyLinear(self,
             clientObject[key] = params[key]
 
         # Add Static Analysis Settings to client model
-        clientModel.service.set_static_analysis_settings(clientObject)
+        Model.clientModel.service.set_static_analysis_settings(clientObject)
 
     def LargeDeformation(self,
                   no: int = 1,
@@ -193,7 +192,7 @@ def LargeDeformation(self,
         """
 
         # Client model
-        clientObject = clientModel.factory.create('ns0:static_analysis_settings')
+        Model.clientObject = Model.clientModel.factory.create('ns0:static_analysis_settings')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -317,7 +316,7 @@ def LargeDeformation(self,
             clientObject[key] = params[key]
 
         # Add Static Analysis Settings to client model
-        clientModel.service.set_static_analysis_settings(clientObject)
+        Model.clientModel.service.set_static_analysis_settings(clientObject)
 
     def SecondOrderPDelta (self,
                   no: int = 1,
@@ -354,7 +353,7 @@ def SecondOrderPDelta (self,
         """
 
         # Client model
-        clientObject = clientModel.factory.create('ns0:static_analysis_settings')
+        Model.clientObject = clientModel.factory.create('ns0:static_analysis_settings')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -485,4 +484,4 @@ def SecondOrderPDelta (self,
             clientObject[key] = params[key]
 
         # Add Static Analysis Settings to client model
-        clientModel.service.set_static_analysis_settings(clientObject)
+        Model.clientModel.service.set_static_analysis_settings(clientObject)
diff --git a/RFEM/Loads/freeLoad.py b/RFEM/Loads/freeLoad.py
index 633433c6..b8a5b5da 100644
--- a/RFEM/Loads/freeLoad.py
+++ b/RFEM/Loads/freeLoad.py
@@ -28,7 +28,7 @@ def ConcentratedLoad(self,
         '''
 
         # Client model | Free Concentrated Load
-        clientObject = clientModel.factory.create('ns0:free_concentrated_load')
+        clientObject = Model.clientModel.factory.create('ns0:free_concentrated_load')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -65,8 +65,8 @@ def ConcentratedLoad(self,
         for key in params:
             clientObject[key] = params[key]
 
-        # Add Free Concentrated Load to client model
-        clientModel.service.set_free_concentrated_load(load_case_no, clientObject)
+        # Add Free Concentrated Load to client model          
+        Model.clientModel.service.set_free_concentrated_load(load_case_no, clientObject)
 
     def LineLoad(self,
                  no: int = 1,
@@ -88,7 +88,7 @@ def LineLoad(self,
         '''
 
         # Client model | Free Concentrated Load
-        clientObject = clientModel.factory.create('ns0:free_line_load')
+        clientObject = Model.clientModel.factory.create('ns0:free_line_load')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -137,8 +137,8 @@ def LineLoad(self,
         for key in params:
             clientObject[key] = params[key]
 
-        # Add Free Concentrated Load to client model
-        clientModel.service.set_free_line_load(load_case_no, clientObject)
+        # Add Free Concentrated Load to client model          
+        Model.clientModel.service.set_free_line_load(load_case_no, clientObject)
 
     def RectangularLoad(self,
                  no: int = 1,
@@ -190,7 +190,7 @@ def RectangularLoad(self,
         '''
 
         # Client model | Free Concentrated Load
-        clientObject = clientModel.factory.create('ns0:free_rectangular_load')
+        clientObject = Model.clientModel.factory.create('ns0:free_rectangular_load')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -247,10 +247,10 @@ def RectangularLoad(self,
                 clientObject.load_location_second_x = load_location_parameter[2]
                 clientObject.load_location_second_y = load_location_parameter[3]
 
-                clientObject.load_varying_in_z_parameters = clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters')
+                clientObject.load_varying_in_z_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters')
                 varying_in_z = load_location_parameter[4]
                 for i in range(len(varying_in_z)):
-                    frllvp = clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters')
+                    frllvp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters')
                     frllvp.no = i+1
                     frllvp.distance = varying_in_z[i][0]
                     frllvp.factor = varying_in_z[i][1]
@@ -271,10 +271,10 @@ def RectangularLoad(self,
                 clientObject.axis_definition_p2_z = load_location_parameter[5][2]
                 clientObject.axis_start_angle = load_location_parameter[6]
 
-                clientObject.load_varying_along_perimeter_parameters = clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters')
+                clientObject.load_varying_along_perimeter_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters')
                 varying_along_perimeter = load_location_parameter[7]
                 for i in range(len(varying_along_perimeter)):
-                    frllvapp = clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters')
+                    frllvapp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters')
                     frllvapp.no = i+1
                     frllvapp.alpha = varying_along_perimeter[i][0] * (pi/180)
                     frllvapp.factor = varying_along_perimeter[i][1]
@@ -288,10 +288,10 @@ def RectangularLoad(self,
                 clientObject.load_location_second_x = load_location_parameter[2]
                 clientObject.load_location_second_y = load_location_parameter[3]
 
-                clientObject.load_varying_in_z_parameters = clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters')
+                clientObject.load_varying_in_z_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters')
                 varying_in_z = load_location_parameter[4]
                 for i in range(len(varying_in_z)):
-                    frllvp = clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters')
+                    frllvp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters')
                     frllvp.no = i+1
                     frllvp.distance = varying_in_z[i][0]
                     frllvp.factor = varying_in_z[i][1]
@@ -305,10 +305,10 @@ def RectangularLoad(self,
                 clientObject.axis_definition_p2_z = load_location_parameter[6][2]
                 clientObject.axis_start_angle = load_location_parameter[7]
 
-                clientObject.load_varying_along_perimeter_parameters = clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters')
+                clientObject.load_varying_along_perimeter_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters')
                 varying_along_perimeter = load_location_parameter[8]
                 for i in range(len(varying_along_perimeter)):
-                    frllvapp = clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters')
+                    frllvapp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters')
                     frllvapp.no = i+1
                     frllvapp.alpha = varying_along_perimeter[i][0] * (pi/180)
                     frllvapp.factor = varying_along_perimeter[i][1]
@@ -333,10 +333,10 @@ def RectangularLoad(self,
                 clientObject.load_location_center_side_a = load_location_parameter[2]
                 clientObject.load_location_center_side_b = load_location_parameter[3]
 
-                clientObject.load_varying_in_z_parameters = clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters')
+                clientObject.load_varying_in_z_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters')
                 varying_in_z = load_location_parameter[4]
                 for i in range(len(varying_in_z)):
-                    frllvp = clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters')
+                    frllvp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters')
                     frllvp.no = i+1
                     frllvp.distance = varying_in_z[i][0]
                     frllvp.factor = varying_in_z[i][1]
@@ -357,10 +357,10 @@ def RectangularLoad(self,
                 clientObject.axis_definition_p2_z = load_location_parameter[5][2]
                 clientObject.axis_start_angle = load_location_parameter[6]
 
-                clientObject.load_varying_along_perimeter_parameters = clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters')
+                clientObject.load_varying_along_perimeter_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters')
                 varying_along_perimeter = load_location_parameter[7]
                 for i in range(len(varying_along_perimeter)):
-                    frllvapp = clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters')
+                    frllvapp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters')
                     frllvapp.no = i+1
                     frllvapp.alpha = varying_along_perimeter[i][0] * (pi/180)
                     frllvapp.factor = varying_along_perimeter[i][1]
@@ -374,10 +374,10 @@ def RectangularLoad(self,
                 clientObject.load_location_center_side_a = load_location_parameter[2]
                 clientObject.load_location_center_side_b = load_location_parameter[3]
 
-                clientObject.load_varying_in_z_parameters = clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters')
+                clientObject.load_varying_in_z_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters')
                 varying_in_z = load_location_parameter[4]
                 for i in range(len(varying_in_z)):
-                    frllvp = clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters')
+                    frllvp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters')
                     frllvp.no = i+1
                     frllvp.distance = varying_in_z[i][0]
                     frllvp.factor = varying_in_z[i][1]
@@ -391,10 +391,10 @@ def RectangularLoad(self,
                 clientObject.axis_definition_p2_z = load_location_parameter[6][2]
                 clientObject.axis_start_angle = load_location_parameter[7]
 
-                clientObject.load_varying_along_perimeter_parameters = clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters')
+                clientObject.load_varying_along_perimeter_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters')
                 varying_along_perimeter = load_location_parameter[8]
                 for i in range(len(varying_along_perimeter)):
-                    frllvapp = clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters')
+                    frllvapp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters')
                     frllvapp.no = i+1
                     frllvapp.alpha = varying_along_perimeter[i][0] * (pi/180)
                     frllvapp.factor = varying_along_perimeter[i][1]
@@ -407,8 +407,8 @@ def RectangularLoad(self,
         for key in params:
             clientObject[key] = params[key]
 
-        # Add Free Concentrated Load to client model
-        clientModel.service.set_free_rectangular_load(load_case_no, clientObject)
+        # Add Free Concentrated Load to client model          
+        Model.clientModel.service.set_free_rectangular_load(load_case_no, clientObject)
 
     def CircularLoad(self,
                  no: int = 1,
@@ -430,7 +430,7 @@ def CircularLoad(self,
         '''
 
         # Client model | Free Concentrated Load
-        clientObject = clientModel.factory.create('ns0:free_circular_load')
+        clientObject = Model.clientModel.factory.create('ns0:free_circular_load')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -478,8 +478,8 @@ def CircularLoad(self,
         for key in params:
             clientObject[key] = params[key]
 
-        # Add Free Concentrated Load to client model
-        clientModel.service.set_free_circular_load(load_case_no, clientObject)
+        # Add Free Concentrated Load to client model          
+        Model.clientModel.service.set_free_circular_load(load_case_no, clientObject)
 
     def PolygonLoad(self,
                  no: int = 1,
@@ -512,7 +512,7 @@ def PolygonLoad(self,
         '''
 
         # Client model | Free Concentrated Load
-        clientObject = clientModel.factory.create('ns0:free_polygon_load')
+        clientObject = Model.clientModel.factory.create('ns0:free_polygon_load')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -536,9 +536,9 @@ def PolygonLoad(self,
         clientObject.load_direction = load_direction.name
 
         # Load Location
-        clientObject.load_location = clientModel.factory.create('ns0:free_polygon_load.load_location')
+        clientObject.load_location = Model.clientModel.factory.create('ns0:free_polygon_load.load_location')
         for i in range(len(load_location)):
-            fplld = clientModel.factory.create('ns0:free_polygon_load_load_location')
+            fplld = Model.clientModel.factory.create('ns0:free_polygon_load_load_location')
             fplld.no = i+1
             fplld.first_coordinate = load_location[i][0]
             fplld.second_coordinate = load_location[i][1]
@@ -575,5 +575,5 @@ def PolygonLoad(self,
         for key in params:
             clientObject[key] = params[key]
 
-        # Add Free Concentrated Load to client model
-        clientModel.service.set_free_polygon_load(load_case_no, clientObject)
+        # Add Free Concentrated Load to client model          
+        Model.clientModel.service.set_free_polygon_load(load_case_no, clientObject)
diff --git a/RFEM/Loads/lineLoad.py b/RFEM/Loads/lineLoad.py
index ecdb87a2..c63dc17d 100644
--- a/RFEM/Loads/lineLoad.py
+++ b/RFEM/Loads/lineLoad.py
@@ -19,7 +19,7 @@ def __init__(self,
         '''
 
         # Client model | Line Load
-        clientObject = clientModel.factory.create('ns0:line_load')
+        clientObject = Model.clientModel.factory.create('ns0:line_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -55,7 +55,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Load Line Load to client model
-        clientModel.service.set_line_load(load_case_no, clientObject)
+        Model.clientModel.service.set_line_load(load_case_no, clientObject)
 
     def Force(self,
                 no: int = 1,
@@ -86,7 +86,7 @@ def Force(self,
         '''
 
         # Client model | Line Load
-        clientObject = clientModel.factory.create('ns0:line_load')
+        clientObject = Model.clientModel.factory.create('ns0:line_load')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -195,12 +195,12 @@ def Force(self,
             except:
                 print("WARNING: LineLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:line_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:line_load.varying_load_parameters')
 
             for i in range(len(load_parameter)):
                 if len(load_parameter[i]) != 3:
                     raise Exception('WARNING: The load parameter sub-lists need to be of length 3. Kindly check sub-list inputs for completeness and correctness.')
-                mlvlp = clientModel.factory.create('ns0:line_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:line_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -262,11 +262,11 @@ def Force(self,
             except:
                 print("WARNING: LineLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:line_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:line_load.varying_load_parameters')
             for i in range(len(load_parameter)):
                 if len(load_parameter[i]) != 3:
                     raise Exception('WARNING: The load parameter sub-lists need to be of length 3. Kindly check sub-list inputs for completeness and correctness.')
-                mlvlp = clientModel.factory.create('ns0:line_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:line_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -289,7 +289,7 @@ def Force(self,
             clientObject[key] = params[key]
 
         # Add Load Line Load to client model
-        clientModel.service.set_line_load(load_case_no, clientObject)
+        Model.clientModel.service.set_line_load(load_case_no, clientObject)
 
     def Moment(self,
                  no: int = 1,
@@ -316,7 +316,7 @@ def Moment(self,
         '''
 
         # Client model | Line Load
-        clientObject = clientModel.factory.create('ns0:line_load')
+        clientObject = Model.clientModel.factory.create('ns0:line_load')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -425,12 +425,12 @@ def Moment(self,
             except:
                 print("WARNING: LineLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:line_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:line_load.varying_load_parameters')
 
             for i in range(len(load_parameter)):
                 if len(load_parameter[i]) != 3:
                     raise Exception('WARNING: The load parameter sub-lists need to be of length 3. Kindly check sub-list inputs for completeness and correctness.')
-                mlvlp = clientModel.factory.create('ns0:line_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:line_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -492,11 +492,11 @@ def Moment(self,
             except:
                 print("WARNING: LineLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:line_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:line_load.varying_load_parameters')
             for i in range(len(load_parameter)):
                 if len(load_parameter[i]) != 3:
                     raise Exception('WARNING: The load parameter sub-lists need to be of length 3. Kindly check sub-list inputs for completeness and correctness.')
-                mlvlp = clientModel.factory.create('ns0:line_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:line_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -519,7 +519,7 @@ def Moment(self,
             clientObject[key] = params[key]
 
         # Add Load Line Load to client model
-        clientModel.service.set_line_load(load_case_no, clientObject)
+        Model.clientModel.service.set_line_load(load_case_no, clientObject)
 
     def Mass(self,
                 no: int = 1,
@@ -538,7 +538,7 @@ def Mass(self,
         '''
 
         # Client model | Line Load
-        clientObject = clientModel.factory.create('ns0:line_load')
+        clientObject = Model.clientModel.factory.create('ns0:line_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -585,4 +585,4 @@ def Mass(self,
             clientObject[key] = params[key]
 
         # Add Load Line Load to client model
-        clientModel.service.set_line_load(load_case_no, clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_line_load(load_case_no, clientObject)
\ No newline at end of file
diff --git a/RFEM/Loads/memberLoad.py b/RFEM/Loads/memberLoad.py
index 0c9fb129..0793e819 100644
--- a/RFEM/Loads/memberLoad.py
+++ b/RFEM/Loads/memberLoad.py
@@ -22,7 +22,7 @@ def __init__(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -58,7 +58,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def Force(self,
                  no: int = 1,
@@ -121,7 +121,7 @@ def Force(self,
                 'eccentricity_z_at_start': 0.0}
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -214,10 +214,10 @@ def Force(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
 
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -273,9 +273,9 @@ def Force(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -294,9 +294,9 @@ def Force(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -362,7 +362,7 @@ def Force(self,
                 clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def Moment(self,
                  no: int = 1,
@@ -409,7 +409,7 @@ def Moment(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -502,10 +502,10 @@ def Moment(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
 
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -561,9 +561,9 @@ def Moment(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -590,7 +590,7 @@ def Moment(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def Mass(self,
                 no: int = 1,
@@ -617,7 +617,7 @@ def Mass(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -656,7 +656,7 @@ def Mass(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def Temperature(self,
                  no: int = 1,
@@ -702,7 +702,7 @@ def Temperature(self,
             load_parameter = [[distance, delta_distance, magnitude], ...]
         '''
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -791,9 +791,9 @@ def Temperature(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -817,7 +817,7 @@ def Temperature(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def TemperatureChange(self,
                            no: int = 1,
@@ -859,7 +859,7 @@ def TemperatureChange(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -948,9 +948,9 @@ def TemperatureChange(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -974,8 +974,8 @@ def TemperatureChange(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
-
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
+        
     def AxialStrain(self,
                     no: int = 1,
                     load_case_no: int = 1,
@@ -1013,7 +1013,7 @@ def AxialStrain(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1094,9 +1094,9 @@ def AxialStrain(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -1120,7 +1120,7 @@ def AxialStrain(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def AxialDisplacement(self,
                     no: int = 1,
@@ -1143,7 +1143,7 @@ def AxialDisplacement(self,
         """
 
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1178,7 +1178,7 @@ def AxialDisplacement(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def Precamber(self,
                  no: int = 1,
@@ -1217,7 +1217,7 @@ def Precamber(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1298,9 +1298,9 @@ def Precamber(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -1324,7 +1324,7 @@ def Precamber(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def InitialPrestress(self,
                  no: int = 1,
@@ -1345,7 +1345,7 @@ def InitialPrestress(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1380,7 +1380,7 @@ def InitialPrestress(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def Displacement(self,
                  no: int = 1,
@@ -1429,7 +1429,7 @@ def Displacement(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1524,9 +1524,9 @@ def Displacement(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -1589,9 +1589,9 @@ def Displacement(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -1615,7 +1615,7 @@ def Displacement(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def Rotation(self,
                  no: int = 1,
@@ -1664,7 +1664,7 @@ def Rotation(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1759,9 +1759,9 @@ def Rotation(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -1824,9 +1824,9 @@ def Rotation(self,
             except:
                 print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -1850,7 +1850,7 @@ def Rotation(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def PipeContentFull(self,
                  no: int = 1,
@@ -1871,7 +1871,7 @@ def PipeContentFull(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1909,7 +1909,7 @@ def PipeContentFull(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def PipeContentPartial(self,
                  no: int = 1,
@@ -1932,7 +1932,7 @@ def PipeContentPartial(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1973,7 +1973,7 @@ def PipeContentPartial(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def PipeInternalPressure(self,
                  no: int = 1,
@@ -1992,7 +1992,7 @@ def PipeInternalPressure(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -2027,7 +2027,7 @@ def PipeInternalPressure(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
 
     def RotaryMotion(self,
                  no: int = 1,
@@ -2058,7 +2058,7 @@ def RotaryMotion(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -2111,4 +2111,4 @@ def RotaryMotion(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_load(load_case_no, clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_member_load(load_case_no, clientObject)
\ No newline at end of file
diff --git a/RFEM/Loads/membersetload.py b/RFEM/Loads/membersetload.py
index c10aceab..f44c2a19 100644
--- a/RFEM/Loads/membersetload.py
+++ b/RFEM/Loads/membersetload.py
@@ -23,7 +23,7 @@ def __init__(self,
         """
 
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -59,7 +59,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def Force(self,
                  no: int = 1,
@@ -119,7 +119,7 @@ def Force(self,
             'eccentricity_z_at_start': 0.0}
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -230,10 +230,10 @@ def Force(self,
                 except:
                     print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-                clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+                clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
 
                 for i in range(len(load_parameter)):
-                    mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                    mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                     mlvlp.no = i+1
                     mlvlp.distance = load_parameter[i][0]
                     mlvlp.delta_distance = load_parameter[i][1]
@@ -297,9 +297,9 @@ def Force(self,
                 except:
                     print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-                clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+                clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
                 for i in range(len(load_parameter)):
-                    mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                    mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                     mlvlp.no = i+1
                     mlvlp.distance = load_parameter[i][0]
                     mlvlp.delta_distance = load_parameter[i][1]
@@ -318,9 +318,9 @@ def Force(self,
                 except:
                     print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-                clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+                clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
                 for i in range(len(load_parameter)):
-                    mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                    mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                     mlvlp.no = i+1
                     mlvlp.distance = load_parameter[i][0]
                     mlvlp.delta_distance = load_parameter[i][1]
@@ -389,7 +389,7 @@ def Force(self,
                 clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def Moment(self,
                  no: int = 1,
@@ -433,7 +433,7 @@ def Moment(self,
                 load_parameter = [[distance, delta_distance, magnitude], ...]
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -548,10 +548,10 @@ def Moment(self,
             except:
                 print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
 
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -619,9 +619,9 @@ def Moment(self,
             except:
                 print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -645,7 +645,7 @@ def Moment(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def Mass(self,
                 no: int = 1,
@@ -666,7 +666,7 @@ def Mass(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -709,7 +709,7 @@ def Mass(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def Temperature(self,
                  no: int = 1,
@@ -748,7 +748,7 @@ def Temperature(self,
             load_parameter = [[distance, delta_distance, magnitude], ...]
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -866,9 +866,9 @@ def Temperature(self,
             except:
                 print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -889,7 +889,7 @@ def Temperature(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def TemperatureChange(self,
                            no: int = 1,
@@ -928,7 +928,7 @@ def TemperatureChange(self,
             load_parameter = [[distance, delta_distance, magnitude], ...]
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1036,9 +1036,9 @@ def TemperatureChange(self,
             except:
                 print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -1059,8 +1059,8 @@ def TemperatureChange(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
-
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
+        
     def AxialStrain(self,
                     no: int = 1,
                     load_case_no: int = 1,
@@ -1095,7 +1095,7 @@ def AxialStrain(self,
             load_parameter = [[distance, delta_distance, magnitude], ...]
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1195,9 +1195,9 @@ def AxialStrain(self,
             except:
                 print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -1218,7 +1218,7 @@ def AxialStrain(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def AxialDisplacement(self,
                     no: int = 1,
@@ -1239,7 +1239,7 @@ def AxialDisplacement(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1274,7 +1274,7 @@ def AxialDisplacement(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def Precamber(self,
                  no: int = 1,
@@ -1310,7 +1310,7 @@ def Precamber(self,
                 load_parameter = [[distance, delta_distance, magnitude], ...]
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1411,9 +1411,9 @@ def Precamber(self,
             except:
                 print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -1434,7 +1434,7 @@ def Precamber(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def InitialPrestress(self,
                  no: int = 1,
@@ -1455,7 +1455,7 @@ def InitialPrestress(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1490,7 +1490,7 @@ def InitialPrestress(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def Displacement(self,
                  no: int = 1,
@@ -1536,7 +1536,7 @@ def Displacement(self,
             load_parameter = [[distance, delta_distance, magnitude], ...]
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1651,9 +1651,9 @@ def Displacement(self,
             except:
                 print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -1733,9 +1733,9 @@ def Displacement(self,
             except:
                 print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -1756,7 +1756,7 @@ def Displacement(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def Rotation(self,
                  no: int = 1,
@@ -1802,7 +1802,7 @@ def Rotation(self,
             load_parameter = [[distance, delta_distance, magnitude], ...]
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -1917,9 +1917,9 @@ def Rotation(self,
             except:
                 print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -1999,9 +1999,9 @@ def Rotation(self,
             except:
                 print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no))
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -2022,7 +2022,7 @@ def Rotation(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def PipeContentFull(self,
                  no: int = 1,
@@ -2043,7 +2043,7 @@ def PipeContentFull(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -2081,7 +2081,7 @@ def PipeContentFull(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def PipeContentPartial(self,
                  no: int = 1,
@@ -2104,7 +2104,7 @@ def PipeContentPartial(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -2145,7 +2145,7 @@ def PipeContentPartial(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def PipeInternalPressure(self,
                  no: int = 1,
@@ -2164,7 +2164,7 @@ def PipeInternalPressure(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -2199,7 +2199,7 @@ def PipeInternalPressure(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
 
     def RotaryMotion(self,
                  no: int = 1,
@@ -2230,7 +2230,7 @@ def RotaryMotion(self,
             params (dict, optional): Parameters
         """
         # Client model | Member Load
-        clientObject = clientModel.factory.create('ns0:member_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:member_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -2283,4 +2283,4 @@ def RotaryMotion(self,
             clientObject[key] = params[key]
 
         # Add Load Member Load to client model
-        clientModel.service.set_member_set_load(load_case_no, clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_member_set_load(load_case_no, clientObject)
\ No newline at end of file
diff --git a/RFEM/Loads/nodalLoad.py b/RFEM/Loads/nodalLoad.py
index d8971aad..25598151 100644
--- a/RFEM/Loads/nodalLoad.py
+++ b/RFEM/Loads/nodalLoad.py
@@ -22,7 +22,7 @@ def __init__(self,
             params (dict, optional): Parameters
         """
         # Client model | Nodal Force
-        clientObject = clientModel.factory.create('ns0:nodal_load')
+        clientObject = Model.clientModel.factory.create('ns0:nodal_load')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -54,7 +54,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Nodal Force to client model
-        clientModel.service.set_nodal_load(load_case_no, clientObject)
+        Model.clientModel.service.set_nodal_load(load_case_no, clientObject)
 
     def Force(self,
               no: int= 1,
@@ -96,7 +96,7 @@ def Force(self,
                     params={'shifted_display' : [offset_x, offset_y, offset_y, distance]}
         """
         # Client model | Nodal Force
-        clientObject = clientModel.factory.create('ns0:nodal_load')
+        clientObject = Model.clientModel.factory.create('ns0:nodal_load')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -197,7 +197,7 @@ def Force(self,
                 clientObject[key] = params[key]
 
         # Add Nodal Force to client model
-        clientModel.service.set_nodal_load(load_case_no, clientObject)
+        Model.clientModel.service.set_nodal_load(load_case_no, clientObject)
 
     def Moment(self,
               no: int= 1,
@@ -234,7 +234,7 @@ def Moment(self,
                     params={'shifted_display' : [offset_x, offset_y, offset_y, distance]}
         """
         # Client model | Nodal Force
-        clientObject = clientModel.factory.create('ns0:nodal_load')
+        clientObject = Model.clientModel.factory.create('ns0:nodal_load')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -317,7 +317,7 @@ def Moment(self,
                 clientObject[key] = params[key]
 
         # Add Nodal Force to client model
-        clientModel.service.set_nodal_load(load_case_no, clientObject)
+        Model.clientModel.service.set_nodal_load(load_case_no, clientObject)
 
     def Components(self,
               no: int= 1,
@@ -353,7 +353,7 @@ def Components(self,
                     params={'shifted_display' : [offset_x, offset_y, offset_y, distance]}
         """
         # Client model | Nodal Force
-        clientObject = clientModel.factory.create('ns0:nodal_load')
+        clientObject = Model.clientModel.factory.create('ns0:nodal_load')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -453,7 +453,7 @@ def Components(self,
                 clientObject[key] = params[key]
 
         # Add Nodal Force to client model
-        clientModel.service.set_nodal_load(load_case_no, clientObject)
+        Model.clientModel.service.set_nodal_load(load_case_no, clientObject)
 
     def Mass(self,
               no: int = 1,
@@ -478,7 +478,7 @@ def Mass(self,
             params (dict, optional): Parameters
         """
         # Client model | Nodal Force
-        clientObject = clientModel.factory.create('ns0:nodal_load')
+        clientObject = Model.clientModel.factory.create('ns0:nodal_load')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -524,4 +524,4 @@ def Mass(self,
                 clientObject[key] = params[key]
 
         # Add Nodal Force to client model
-        clientModel.service.set_nodal_load(load_case_no, clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_nodal_load(load_case_no, clientObject)
\ No newline at end of file
diff --git a/RFEM/Loads/surfaceLoad.py b/RFEM/Loads/surfaceLoad.py
index 1677f483..5b46398b 100644
--- a/RFEM/Loads/surfaceLoad.py
+++ b/RFEM/Loads/surfaceLoad.py
@@ -20,7 +20,7 @@ def __init__(self,
             params (dict, optional): Parameters
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -53,7 +53,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_load(load_case_no, clientObject)
+        Model.clientModel.service.set_surface_load(load_case_no, clientObject)
 
     def Force(self,
                  no: int = 1,
@@ -93,7 +93,7 @@ def Force(self,
             params (dict, optional): Parameters
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -161,9 +161,9 @@ def Force(self,
 
         elif load_distribution == SurfaceLoadDistribution.LOAD_DISTRIBUTION_VARYING_IN_Z:
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:surface_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:surface_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:surface_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:surface_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -180,7 +180,7 @@ def Force(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_load(load_case_no, clientObject)
+        Model.clientModel.service.set_surface_load(load_case_no, clientObject)
 
     def Temperature(self,
                  no: int = 1,
@@ -216,7 +216,7 @@ def Temperature(self,
             params (dict, optional): Parameters
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -290,7 +290,7 @@ def Temperature(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_load(load_case_no, clientObject)
+        Model.clientModel.service.set_surface_load(load_case_no, clientObject)
 
     def AxialStrain(self,
                  no: int = 1,
@@ -321,7 +321,7 @@ def AxialStrain(self,
             params (dict, optional): Parameters
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -375,7 +375,7 @@ def AxialStrain(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_load(load_case_no, clientObject)
+        Model.clientModel.service.set_surface_load(load_case_no, clientObject)
 
     def Precamber(self,
                  no: int = 1,
@@ -394,7 +394,7 @@ def Precamber(self,
             params (dict, optional): Parameters
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -427,7 +427,7 @@ def Precamber(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_load(load_case_no, clientObject)
+        Model.clientModel.service.set_surface_load(load_case_no, clientObject)
 
     def RotaryMotion(self,
                  no: int = 1,
@@ -452,7 +452,7 @@ def RotaryMotion(self,
             params (dict, optional): Parameters
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -496,7 +496,7 @@ def RotaryMotion(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_load(load_case_no, clientObject)
+        Model.clientModel.service.set_surface_load(load_case_no, clientObject)
 
     def Mass(self,
                  no: int = 1,
@@ -523,7 +523,7 @@ def Mass(self,
             params (dict, optional):
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -564,4 +564,4 @@ def Mass(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_load(load_case_no, clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_surface_load(load_case_no, clientObject)
\ No newline at end of file
diff --git a/RFEM/Loads/surfacesetload.py b/RFEM/Loads/surfacesetload.py
index 32a85706..cbcce97d 100644
--- a/RFEM/Loads/surfacesetload.py
+++ b/RFEM/Loads/surfacesetload.py
@@ -20,7 +20,7 @@ def __init__(self,
             params (dict, optional): Parameters
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -53,7 +53,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_surface_set_load(load_case_no, clientObject)
 
     def Force(self,
                  no: int = 1,
@@ -92,7 +92,7 @@ def Force(self,
             load_parameter = [[distance_1, delta_distance_1, magnitude_1], [distance_2, delta_distance_2, magnitude_2]...]
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -160,9 +160,9 @@ def Force(self,
 
         elif load_distribution == SurfaceSetLoadDistribution.LOAD_DISTRIBUTION_VARYING_IN_Z:
 
-            clientObject.varying_load_parameters = clientModel.factory.create('ns0:surface_set_load.varying_load_parameters')
+            clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:surface_set_load.varying_load_parameters')
             for i in range(len(load_parameter)):
-                mlvlp = clientModel.factory.create('ns0:surface_set_load_varying_load_parameters')
+                mlvlp = Model.clientModel.factory.create('ns0:surface_set_load_varying_load_parameters')
                 mlvlp.no = i+1
                 mlvlp.distance = load_parameter[i][0]
                 mlvlp.delta_distance = load_parameter[i][1]
@@ -179,7 +179,7 @@ def Force(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_surface_set_load(load_case_no, clientObject)
 
     def Temperature(self,
                  no: int = 1,
@@ -214,7 +214,7 @@ def Temperature(self,
                 load_parameter = [t_c_1, delta_t_1, t_c_2, delta_t_2, node_1, node_2, SurfaceLoadAxisDefinitionType, SurfaceLoadAxisDefinitionAxis, axis_definition_p1]
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -288,7 +288,7 @@ def Temperature(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_surface_set_load(load_case_no, clientObject)
 
     def AxialStrain(self,
                  no: int = 1,
@@ -320,7 +320,7 @@ def AxialStrain(self,
             load_parameter = [magnitude_axial_strain_1x, magnitude_axial_strain_1y, magnitude_axial_strain_2x, magnitude_axial_strain_2y, node_1, node_2]
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -374,7 +374,7 @@ def AxialStrain(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_surface_set_load(load_case_no, clientObject)
 
     def Precamber(self,
                  no: int = 1,
@@ -393,7 +393,7 @@ def Precamber(self,
             params (dict, optional): Parameters
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -426,7 +426,7 @@ def Precamber(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_surface_set_load(load_case_no, clientObject)
 
     def RotaryMotion(self,
                  no: int = 1,
@@ -450,7 +450,7 @@ def RotaryMotion(self,
             load_parameter = [angular_velocity, angular_acceleration, SurfaceLoadAxisDefinitionType, SurfaceLoadAxisDefinitionAxis, SurfaceLoadAxisDirectionType; [x1, y1, z1]]
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -494,7 +494,7 @@ def RotaryMotion(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_set_load(load_case_no, clientObject)
+        Model.clientModel.service.set_surface_set_load(load_case_no, clientObject)
 
     def Mass(self,
                  no: int = 1,
@@ -520,7 +520,7 @@ def Mass(self,
             mass_parameter = [mass_x, mass_y, mass_z]
         """
         # Client model | Surface Load
-        clientObject = clientModel.factory.create('ns0:surface_set_load')
+        clientObject = Model.clientModel.factory.create('ns0:surface_set_load')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -561,4 +561,4 @@ def Mass(self,
             clientObject[key] = params[key]
 
         # Add Surface Load to client model
-        clientModel.service.set_surface_set_load(load_case_no, clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_surface_set_load(load_case_no, clientObject)
\ No newline at end of file
diff --git a/RFEM/SpecialObjects/enlargedColumnHead.py b/RFEM/SpecialObjects/enlargedColumnHead.py
index 52100e59..21952b73 100644
--- a/RFEM/SpecialObjects/enlargedColumnHead.py
+++ b/RFEM/SpecialObjects/enlargedColumnHead.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Enlarged Column Head
-        clientObject = clientModel.factory.create('ns0:enlarged_column_head')
+        clientObject = Model.clientModel.factory.create('ns0:enlarged_column_head')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -21,4 +21,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Enlarged Column Head to client model
-        clientModel.service.set_enlarged_column_head(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_enlarged_column_head(clientObject)
\ No newline at end of file
diff --git a/RFEM/SpecialObjects/intersection.py b/RFEM/SpecialObjects/intersection.py
index a19ad9d0..12f41a50 100644
--- a/RFEM/SpecialObjects/intersection.py
+++ b/RFEM/SpecialObjects/intersection.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Intersection
-        clientObject = clientModel.factory.create('ns0:intersection')
+        clientObject = Model.clientModel.factory.create('ns0:intersection')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -21,4 +21,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Intersection to client model
-        clientModel.service.set_intersection(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_intersection(clientObject)
\ No newline at end of file
diff --git a/RFEM/SpecialObjects/resultSection.py b/RFEM/SpecialObjects/resultSection.py
index 65c49149..39f238c3 100644
--- a/RFEM/SpecialObjects/resultSection.py
+++ b/RFEM/SpecialObjects/resultSection.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Result Section
-        clientObject = clientModel.factory.create('ns0:result_section')
+        clientObject = Model.clientModel.factory.create('ns0:result_section')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -21,4 +21,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Result Section to client model
-        clientModel.service.set_result_section(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_result_section(clientObject)
\ No newline at end of file
diff --git a/RFEM/SpecialObjects/rigidLink.py b/RFEM/SpecialObjects/rigidLink.py
index 09de1968..471f165c 100644
--- a/RFEM/SpecialObjects/rigidLink.py
+++ b/RFEM/SpecialObjects/rigidLink.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Rigid Link
-        clientObject = clientModel.factory.create('ns0:rigid_link')
+        clientObject = Model.clientModel.factory.create('ns0:rigid_link')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,7 +24,7 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add rigid link to client model
-        clientModel.service.set_rigid_link(clientObject)
+        Model.clientModel.service.set_rigid_link(clientObject)
 
     def LineToLine(self,
                  no: int = 1,
@@ -32,7 +32,7 @@ def LineToLine(self,
                  params: dict = {}):
 
         # Client model | Line To Line Rigid Link
-        clientObject = clientModel.factory.create('ns0:rigid_link')
+        clientObject = Model.clientModel.factory.create('ns0:rigid_link')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -48,7 +48,7 @@ def LineToLine(self,
             clientObject[key] = params[key]
 
         # Add rigid link to client model
-        clientModel.service.set_rigid_link(clientObject)
+        Model.clientModel.service.set_rigid_link(clientObject)
 
     def LineToSurface(self,
                  no: int = 1,
@@ -56,7 +56,7 @@ def LineToSurface(self,
                  params: dict = {}):
 
         # Client model | Line To Surface Rigid Link
-        clientObject = clientModel.factory.create('ns0:rigid_link')
+        clientObject = Model.clientModel.factory.create('ns0:rigid_link')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -72,7 +72,7 @@ def LineToSurface(self,
             clientObject[key] = params[key]
 
         # Add rigid link to client model
-        clientModel.service.set_rigid_link(clientObject)
+        Model.clientModel.service.set_rigid_link(clientObject)
 
     def Diapragm(self,
                  no: int = 1,
@@ -80,7 +80,7 @@ def Diapragm(self,
                  params: dict = {}):
 
         # Client model | Diapragm Rigid Link
-        clientObject = clientModel.factory.create('ns0:rigid_link')
+        clientObject = Model.clientModel.factory.create('ns0:rigid_link')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -96,4 +96,4 @@ def Diapragm(self,
             clientObject[key] = params[key]
 
         # Add rigid link to client model
-        clientModel.service.set_rigid_link(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_rigid_link(clientObject)
\ No newline at end of file
diff --git a/RFEM/SpecialObjects/structureModification.py b/RFEM/SpecialObjects/structureModification.py
index f0f10e38..630bc2c1 100644
--- a/RFEM/SpecialObjects/structureModification.py
+++ b/RFEM/SpecialObjects/structureModification.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Structure Modification
-        clientObject = clientModel.factory.create('ns0:structure_modification')
+        clientObject = Model.clientModel.factory.create('ns0:structure_modification')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Structure Modification to client model
-        clientModel.service.set_structure_modification(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_structure_modification(clientObject)
\ No newline at end of file
diff --git a/RFEM/SpecialObjects/surfaceContact.py b/RFEM/SpecialObjects/surfaceContact.py
index 10652c12..458e2b71 100644
--- a/RFEM/SpecialObjects/surfaceContact.py
+++ b/RFEM/SpecialObjects/surfaceContact.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Surfaces Contact
-        clientObject = clientModel.factory.create('ns0:surfaces_contact')
+        clientObject = Model.clientModel.factory.create('ns0:surfaces_contact')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Surfaces Contact to client model
-        clientModel.service.set_surfaces_contact(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_surfaces_contact(clientObject)
\ No newline at end of file
diff --git a/RFEM/SpecialObjects/surfaceResultAdjustment.py b/RFEM/SpecialObjects/surfaceResultAdjustment.py
index 5e676efa..46021f2c 100644
--- a/RFEM/SpecialObjects/surfaceResultAdjustment.py
+++ b/RFEM/SpecialObjects/surfaceResultAdjustment.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Surface Result Adjustment
-        clientObject = clientModel.factory.create('ns0:surface_results_adjustment')
+        clientObject = Model.clientModel.factory.create('ns0:surface_results_adjustment')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Surface Result Adjustmentto client model
-        clientModel.service.set_surface_results_adjustment(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_surface_results_adjustment(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForLines/lineHinge.py b/RFEM/TypesForLines/lineHinge.py
index fd2d46ff..1a3e6012 100644
--- a/RFEM/TypesForLines/lineHinge.py
+++ b/RFEM/TypesForLines/lineHinge.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Line Hinge
-        clientObject = clientModel.factory.create('ns0:line_hinge')
+        clientObject = Model.clientModel.factory.create('ns0:line_hinge')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Line Hinge to client model
-        clientModel.service.set_line_hinge(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_line_hinge(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForLines/lineMeshRefinements.py b/RFEM/TypesForLines/lineMeshRefinements.py
index ebe997bc..23a0a9a1 100644
--- a/RFEM/TypesForLines/lineMeshRefinements.py
+++ b/RFEM/TypesForLines/lineMeshRefinements.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Line Mesh Refinement
-        clientObject = clientModel.factory.create('ns0:line_mesh_refinement')
+        clientObject = Model.clientModel.factory.create('ns0:line_mesh_refinement')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Line Mesh Refinement to client model
-        clientModel.service.set_line_mesh_refinement(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_line_mesh_refinement(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForLines/lineSupport.py b/RFEM/TypesForLines/lineSupport.py
index 20514a76..89825b59 100644
--- a/RFEM/TypesForLines/lineSupport.py
+++ b/RFEM/TypesForLines/lineSupport.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Line Support
-        clientObject = clientModel.factory.create('ns0:line_support')
+        clientObject = Model.clientModel.factory.create('ns0:line_support')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Line Support to client model
-        clientModel.service.set_line_support(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_line_support(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForLines/lineWeldedJoint.py b/RFEM/TypesForLines/lineWeldedJoint.py
index b9305a35..2aaffd39 100644
--- a/RFEM/TypesForLines/lineWeldedJoint.py
+++ b/RFEM/TypesForLines/lineWeldedJoint.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Line Welded Joint
-        clientObject = clientModel.factory.create('ns0:line_welded_joint')
+        clientObject = Model.clientModel.factory.create('ns0:line_welded_joint')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Line welded joint to client model
-        clientModel.service.set_line_welded_joint(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_line_welded_joint(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForMembers/memberDefinableStiffness.py b/RFEM/TypesForMembers/memberDefinableStiffness.py
index 0b457d3e..cd73485c 100644
--- a/RFEM/TypesForMembers/memberDefinableStiffness.py
+++ b/RFEM/TypesForMembers/memberDefinableStiffness.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Member Definable Stffness
-        clientObject = clientModel.factory.create('ns0:member_definable_stiffness')
+        clientObject = Model.clientModel.factory.create('ns0:member_definable_stiffness')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Member Definable Stffness to client model
-        clientModel.service.set_member_definable_stiffness(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_member_definable_stiffness(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForMembers/memberEccentricity.py b/RFEM/TypesForMembers/memberEccentricity.py
index cf0afadd..ed7ad778 100644
--- a/RFEM/TypesForMembers/memberEccentricity.py
+++ b/RFEM/TypesForMembers/memberEccentricity.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Member Eccentricity
-        clientObject = clientModel.factory.create('ns0:member_eccentricity')
+        clientObject = Model.clientModel.factory.create('ns0:member_eccentricity')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Member Eccentricity to client model
-        clientModel.service.set_member_eccentricity(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_member_eccentricity(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForMembers/memberHinge.py b/RFEM/TypesForMembers/memberHinge.py
index 31026719..d2cecca3 100644
--- a/RFEM/TypesForMembers/memberHinge.py
+++ b/RFEM/TypesForMembers/memberHinge.py
@@ -15,7 +15,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Member Hinge
-        clientObject = clientModel.factory.create('ns0:member_hinge')
+        clientObject = Model.clientModel.factory.create('ns0:member_hinge')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -52,5 +52,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Line to client model
-        clientModel.service.set_member_hinge(clientObject)
-
+        Model.clientModel.service.set_member_hinge(clientObject)
diff --git a/RFEM/TypesForMembers/memberNonlinearity.py b/RFEM/TypesForMembers/memberNonlinearity.py
index 3f2269a5..682bb430 100644
--- a/RFEM/TypesForMembers/memberNonlinearity.py
+++ b/RFEM/TypesForMembers/memberNonlinearity.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Member Nonlinearity
-        clientObject = clientModel.factory.create('ns0:member_nonlinearity')
+        clientObject = Model.clientModel.factory.create('ns0:member_nonlinearity')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Member Nonlinearity to client model
-        clientModel.service.set_member_nonlinearity(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_member_nonlinearity(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForMembers/memberResultIntermediatePoints.py b/RFEM/TypesForMembers/memberResultIntermediatePoints.py
index 4a818cc2..89a8269e 100644
--- a/RFEM/TypesForMembers/memberResultIntermediatePoints.py
+++ b/RFEM/TypesForMembers/memberResultIntermediatePoints.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Member Result Intermediate Point
-        clientObject = clientModel.factory.create('ns0:member_result_intermediate_point')
+        clientObject = Model.clientModel.factory.create('ns0:member_result_intermediate_point')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Member Result Intermediate Point to client model
-        clientModel.service.set_member_result_intermediate_point(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_member_result_intermediate_point(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForMembers/memberStiffnessModification.py b/RFEM/TypesForMembers/memberStiffnessModification.py
index e935b7bd..585cd151 100644
--- a/RFEM/TypesForMembers/memberStiffnessModification.py
+++ b/RFEM/TypesForMembers/memberStiffnessModification.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Member Stiffness Modification
-        clientObject = clientModel.factory.create('ns0:smember_stiffness_modification')
+        clientObject = Model.clientModel.factory.create('ns0:smember_stiffness_modification')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Member Stiffness Modification to client model
-        clientModel.service.set_member_stiffness_modification(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_member_stiffness_modification(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForMembers/memberSupport.py b/RFEM/TypesForMembers/memberSupport.py
index 66c0132e..49771d82 100644
--- a/RFEM/TypesForMembers/memberSupport.py
+++ b/RFEM/TypesForMembers/memberSupport.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Member Support
-        clientObject = clientModel.factory.create('ns0:member_support')
+        clientObject = Model.clientModel.factory.create('ns0:member_support')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Member Support to client model
-        clientModel.service.set_member_support(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_member_support(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForNodes/nodalMeshRefinement.py b/RFEM/TypesForNodes/nodalMeshRefinement.py
index a3cf0ed2..584e9cac 100644
--- a/RFEM/TypesForNodes/nodalMeshRefinement.py
+++ b/RFEM/TypesForNodes/nodalMeshRefinement.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Nodal Mesh Refinement
-        clientObject = clientModel.factory.create('ns0:nodal_mesh_refinement')
+        clientObject = Model.clientModel.factory.create('ns0:nodal_mesh_refinement')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Nodal Mesh Refinement to client model
-        clientModel.service.set_nodal_mesh_refinement(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_nodal_mesh_refinement(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForNodes/nodalSupport.py b/RFEM/TypesForNodes/nodalSupport.py
index 25312964..88dc4c2d 100644
--- a/RFEM/TypesForNodes/nodalSupport.py
+++ b/RFEM/TypesForNodes/nodalSupport.py
@@ -41,7 +41,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Nodal Support
-        clientObject = clientModel.factory.create('ns0:nodal_support')
+        clientObject = Model.clientModel.factory.create('ns0:nodal_support')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -86,4 +86,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Nodal Support to client model
-        clientModel.service.set_nodal_support(clientObject)
+        Model.clientModel.service.set_nodal_support(clientObject)
diff --git a/RFEM/TypesForSolids/solidContact.py b/RFEM/TypesForSolids/solidContact.py
index 90c66479..f445080f 100644
--- a/RFEM/TypesForSolids/solidContact.py
+++ b/RFEM/TypesForSolids/solidContact.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Solid Contact
-        clientObject = clientModel.factory.create('ns0:solid_contacts')
+        clientObject = Model.clientModel.factory.create('ns0:solid_contacts')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Solid Contact to client model
-        clientModel.service.set_solid_contacts(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_solid_contacts(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForSolids/solidGas.py b/RFEM/TypesForSolids/solidGas.py
index d5de1fb4..675c7c0d 100644
--- a/RFEM/TypesForSolids/solidGas.py
+++ b/RFEM/TypesForSolids/solidGas.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Solid Gas
-        clientObject = clientModel.factory.create('ns0:solid_gas')
+        clientObject = Model.clientModel.factory.create('ns0:solid_gas')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Solid Gas to client model
-        clientModel.service.set_solid_gas(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_solid_gas(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForSolids/solidMeshRefinement.py b/RFEM/TypesForSolids/solidMeshRefinement.py
index 75910232..e54ab75a 100644
--- a/RFEM/TypesForSolids/solidMeshRefinement.py
+++ b/RFEM/TypesForSolids/solidMeshRefinement.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Solid Mesh Refinement
-        clientObject = clientModel.factory.create('ns0:solid_mesh_refinement')
+        clientObject = Model.clientModel.factory.create('ns0:solid_mesh_refinement')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Solid Mesh Refinement to client model
-        clientModel.service.set_solid_mesh_refinement(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_solid_mesh_refinement(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForSpecialObjects/surfaceContactType.py b/RFEM/TypesForSpecialObjects/surfaceContactType.py
index c2d70ea2..fb3fff2f 100644
--- a/RFEM/TypesForSpecialObjects/surfaceContactType.py
+++ b/RFEM/TypesForSpecialObjects/surfaceContactType.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Surface Contact Type
-        clientObject = clientModel.factory.create('ns0:surfaces_contact_type')
+        clientObject = Model.clientModel.factory.create('ns0:surfaces_contact_type')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Surface Contact Type to client model
-        clientModel.service.set_surfaces_contact_type(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_surfaces_contact_type(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForSurfaces/surfaceEccentricity.py b/RFEM/TypesForSurfaces/surfaceEccentricity.py
index bc3ed592..adc5265a 100644
--- a/RFEM/TypesForSurfaces/surfaceEccentricity.py
+++ b/RFEM/TypesForSurfaces/surfaceEccentricity.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Surface Eccentricity
-        clientObject = clientModel.factory.create('ns0:surface_eccentricity')
+        clientObject = Model.clientModel.factory.create('ns0:surface_eccentricity')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Surface Eccentricity to client model
-        clientModel.service.set_surface_eccentricity(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_surface_eccentricity(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForSurfaces/surfaceMeshRefinements.py b/RFEM/TypesForSurfaces/surfaceMeshRefinements.py
index 6276718f..a5f480de 100644
--- a/RFEM/TypesForSurfaces/surfaceMeshRefinements.py
+++ b/RFEM/TypesForSurfaces/surfaceMeshRefinements.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Surface Mesh Refinement
-        clientObject = clientModel.factory.create('ns0:surface_mesh_refinement')
+        clientObject = Model.clientModel.factory.create('ns0:surface_mesh_refinement')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Surface Mesh Refinement to client model
-        clientModel.service.set_surface_mesh_refinement(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_surface_mesh_refinement(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForSurfaces/surfaceStiffnessModification.py b/RFEM/TypesForSurfaces/surfaceStiffnessModification.py
index 81ca01e2..ffc07394 100644
--- a/RFEM/TypesForSurfaces/surfaceStiffnessModification.py
+++ b/RFEM/TypesForSurfaces/surfaceStiffnessModification.py
@@ -8,7 +8,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Surface Stifness Modification
-        clientObject = clientModel.factory.create('ns0:surface_stiffness_modification')
+        clientObject = Model.clientModel.factory.create('ns0:surface_stiffness_modification')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -24,4 +24,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Surface Stifness Modification to client model
-        clientModel.service.set_surface_stiffness_modification(clientObject)
\ No newline at end of file
+        Model.clientModel.service.set_surface_stiffness_modification(clientObject)
\ No newline at end of file
diff --git a/RFEM/TypesForSurfaces/surfaceSupport.py b/RFEM/TypesForSurfaces/surfaceSupport.py
index 0c709eba..f3171328 100644
--- a/RFEM/TypesForSurfaces/surfaceSupport.py
+++ b/RFEM/TypesForSurfaces/surfaceSupport.py
@@ -14,7 +14,7 @@ def __init__(self,
                  params: dict = {}):
 
         # Client model | Surface Support
-        clientObject = clientModel.factory.create('ns0:surface_support')
+        clientObject = Model.clientModel.factory.create('ns0:surface_support')
 
         # Clears object atributes | Sets all atributes to None
         clearAtributes(clientObject)
@@ -40,4 +40,4 @@ def __init__(self,
             clientObject[key] = params[key]
 
         # Add Surface Support to client model
-        clientModel.service.set_surface_support(clientObject)
+        Model.clientModel.service.set_surface_support(clientObject)
diff --git a/RFEM/globalParameter.py b/RFEM/globalParameter.py
index 9aa9b484..b12a8eb4 100644
--- a/RFEM/globalParameter.py
+++ b/RFEM/globalParameter.py
@@ -31,7 +31,7 @@ def AddParameter(self,
         '''
 
         # Client model | Global Parameter
-        clientObject = clientModel.factory.create('ns0:global_parameter')
+        clientObject = Model.clientModel.factory.create('ns0:global_parameter')
 
         # Clears object attributes | Sets all attributes to None
         clearAtributes(clientObject)
@@ -76,5 +76,5 @@ def AddParameter(self,
         for key in params:
             clientObject[key] = params[key]
 
-        # Add Global Parameter to client model
-        clientModel.service.set_global_parameter(clientObject)
\ No newline at end of file
+        # Add Global Parameter to client model          
+        Model.clientModel.service.set_global_parameter(clientObject)
diff --git a/RFEM/initModel.py b/RFEM/initModel.py
index 76ba90c1..6b39af80 100644
--- a/RFEM/initModel.py
+++ b/RFEM/initModel.py
@@ -117,8 +117,6 @@
     print('- Check Program Options & Settings > Web Services')
     sys.exit()
 
-# Instantiate SOAP client model
-cModel = modelLst = None
 try:
     modelLst = client.service.get_model_list()
 except:
@@ -135,20 +133,35 @@
 session.mount('http://', adapter)
 trans = suds_requests.RequestsTransport(session)
 
-if modelLst:
-    new = client.service.get_active_model() + 'wsdl'
-    cModel = Client(new, transport=trans)
-    print('Resetting model...')
-    cModel.service.delete_all_results()
-    cModel.service.reset()
-else:
-    new = client.service.new_model('My Model') + 'wsdl'
-    # If a new model is created, I thought we can create an input list for the user to define the model type
-    # new = client.service.set_model_type('E_MODEL_TYPE_2D_XZ_PLANE_STRESS')
-    cModel = Client(new, transport=trans)
-
-# Init client model
-clientModel = cModel
+class Model():
+    clientModel = None
+    def __init__(self,
+                 new_model: bool=True,
+                 model_name: str="MyModel",
+                 delete: bool=False,
+                 reset: bool=False):
+    
+        cModel = None
+        if new_model:
+            new = client.service.new_model(model_name) + 'wsdl'
+            cModel = Client(new, transport=trans)
+        else:
+            modelLst = client.service.get_model_list()
+            modelIndex = 0
+            for i in range(len(modelLst)):
+                if modelLst[i] == model_name:
+                    modelIndex = i
+            new = client.service.get_model(modelIndex) + 'wsdl'
+            cModel = Client(new, transport=trans)
+            if delete:
+                print('Deleting results...')
+                cModel.service.delete_all_results()
+            if reset:
+                print('Resetting model...')
+                cModel.service.reset()
+    
+        Model.clientModel = cModel
+        print('Geometry...')
 
 def clearAtributes(obj):
     '''
@@ -183,7 +196,7 @@ def Calculate_all(generateXmlSolverInput: bool = False):
     Params:
     - generateXmlSolverInput: generate XML solver input
     '''
-    clientModel.service.calculate_all(generateXmlSolverInput)
+    Model.clientModel.service.calculate_all(generateXmlSolverInput)
 
 def ConvertToDlString(s):
     '''
@@ -235,10 +248,10 @@ def CalculateSelectedCases(loadCases: list = None, designSituations: list = None
         designSituations (list, optional): [description]. Defaults to None.
         loadCombinations (list, optional): [description]. Defaults to None.
     '''
-    specificObjectsToCalculate = clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements')
+    specificObjectsToCalculate = Model.clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements')
     if loadCases is not None:
         for loadCase in loadCases:
-            specificObjectsToCalculateLC = clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements.element')
+            specificObjectsToCalculateLC = Model.clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements.element')
             specificObjectsToCalculateLC.no = loadCase
             specificObjectsToCalculateLC.parent_no = 0
             specificObjectsToCalculateLC.type = ObjectTypes.E_OBJECT_TYPE_LOAD_CASE.name
@@ -246,7 +259,7 @@ def CalculateSelectedCases(loadCases: list = None, designSituations: list = None
 
     if designSituations is not None:
         for designSituation in designSituations:
-            specificObjectsToCalculateDS = clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements.element')
+            specificObjectsToCalculateDS = Model.clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements.element')
             specificObjectsToCalculateDS.no = designSituation
             specificObjectsToCalculateDS.parent_no = 0
             specificObjectsToCalculateDS.type = ObjectTypes.E_OBJECT_TYPE_DESIGN_SITUATION.name
@@ -254,30 +267,30 @@ def CalculateSelectedCases(loadCases: list = None, designSituations: list = None
 
     if loadCombinations is not None:
         for loadCombination in loadCombinations:
-            specificObjectsToCalculateLC = clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements.element')
+            specificObjectsToCalculateLC = Model.clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements.element')
             specificObjectsToCalculateLC.no = loadCombination
             specificObjectsToCalculateLC.parent_no = 0
             specificObjectsToCalculateLC.type = ObjectTypes.E_OBJECT_TYPE_LOAD_CASE.name
             specificObjectsToCalculate.element.append(specificObjectsToCalculateLC)
 
-    clientModel.service.calculate_specific_objects(specificObjectsToCalculate)
+    Model.clientModel.service.calculate_specific_objects(specificObjectsToCalculate)
 
 def ExportResultTablesToCsv(TargetDirectoryPath: str):
 
-    clientModel.service.export_result_tables_to_csv(TargetDirectoryPath)
+    Model.clientModel.service.export_result_tables_to_csv(TargetDirectoryPath)
 
 def ExportResultTablesToXML(TargetFilePath: str):
 
-    clientModel.service.export_result_tables_to_xml(TargetFilePath)
+    Model.clientModel.service.export_result_tables_to_xml(TargetFilePath)
 
 def ExportResultTablesWithDetailedMembersResultsToCsv(TargetDirectoryPath: str):
-
-    clientModel.service.export_result_tables_with_detailed_members_results_to_csv(TargetDirectoryPath)
+    
+    Model.clientModel.service.export_result_tables_with_detailed_members_results_to_csv(TargetDirectoryPath)
 
 def ExportResultTablesWithDetailedMembersResultsToXML(TargetFilePath: str):
-
-    clientModel.service.export_result_tables_with_detailed_members_results_to_xml(TargetFilePath)
-
+    
+    Model.clientModel.service.export_result_tables_with_detailed_members_results_to_xml(TargetFilePath)
+    
 def  __parseXMLAsDictionary(path: str =""):
     with open(path, "rb") as f:
         my_dictionary = xmltodict.parse(f, xml_attribs=True)
@@ -301,12 +314,12 @@ def ParseXMLResultsFromSelectedFileToDict(filePath: str):
 
 def GenerateMesh():
 
-    clientModel.service.generate_mesh()
+     Model.clientModel.service.generate_mesh()
 
 def GetMeshStatics():
 
-    mesh_stats = clientModel.service.get_mesh_statistics()
-    return clientModel.dict(mesh_stats)
+    mesh_stats =  Model.clientModel.service.get_mesh_statistics()
+    return  Model.clientModel.dict(mesh_stats)
 
 def FirstFreeIdNumber(type = ObjectTypes.E_OBJECT_TYPE_MEMBER,
             parent_no: int = 0):
@@ -322,7 +335,8 @@ def FirstFreeIdNumber(type = ObjectTypes.E_OBJECT_TYPE_MEMBER,
                     (2) The parent_no parameter becomes significant for example with loads
             '''
 
-            return clientModel.service.get_first_free_number(type.name, parent_no)
+            return  Model.clientModel.service.get_first_free_number(type.name, parent_no)
+
 def SetModelType(model_type = ModelType.E_MODEL_TYPE_3D):
 
     '''
@@ -340,7 +354,7 @@ def SetModelType(model_type = ModelType.E_MODEL_TYPE_3D):
             ModelType.E_MODEL_TYPE_3D
     '''
 
-    clientModel.service.set_model_type(model_type.name)
+    Model.clientModel.service.set_model_type(model_type.name)
 
 def GetModelType():
 
diff --git a/RFEM/window.py b/RFEM/window.py
index 96c8230e..1bdbeb56 100644
--- a/RFEM/window.py
+++ b/RFEM/window.py
@@ -2,27 +2,28 @@
 from tkinter import *
 from tkinter import ttk, Entry
 
-def window(mainFunc):
+def window(mainFunc, lstOfModels):
     color = '#F2F3F4'
     # Creating tkinter window
     win = Tk()
     win.resizable(False, False)
     win.title('Power of automation with RFEM6')
-    win.geometry("520x160")
+    win.geometry("550x280")
+    
     win.configure(bg=color)
     win.grid_columnconfigure(index=0, minsize=140)
     win.grid_columnconfigure(index=1, minsize=80)
     win.grid_columnconfigure(index=2, minsize=80)
     win.grid_columnconfigure(index=3, minsize=70)
-    win.grid_columnconfigure(index=4, minsize=139)
+    win.grid_columnconfigure(index=4, minsize=120)
 
     # Separators
     y = 3
-    rh = 0.76
-    ttk.Separator(win, orient=VERTICAL).place(x=140, y=y, relheight=rh)
-    ttk.Separator(win, orient=VERTICAL).place(x=220, y=y, relheight=rh)
-    ttk.Separator(win, orient=VERTICAL).place(x=295, y=y, relheight=rh)
-    ttk.Separator(win, orient=VERTICAL).place(x=400, y=y, relheight=rh)
+    rh = 120 #0.76
+    ttk.Separator(win, orient=VERTICAL).place(x=140, y=y, height=rh)
+    ttk.Separator(win, orient=VERTICAL).place(x=260, y=y, height=rh)
+    ttk.Separator(win, orient=VERTICAL).place(x=350, y=y, height=rh)
+    ttk.Separator(win, orient=VERTICAL).place(x=430, y=y, height=rh)
 
     Label(text="Params Type", justify=CENTER, font="Segoe 9 bold", bg=color).grid(row=0, column=0)
     Label(text="Data Type", justify=CENTER, font="Segoe 9 bold", bg=color).grid(row=0, column=1)
@@ -35,6 +36,7 @@ def window(mainFunc):
     Label(text="hall height", bg=color).grid(row=3, column=0)
     Label(text="frame spacing", bg=color).grid(row=4, column=0)
     Label(text="number of frames", bg=color).grid(row=5, column=0)
+    Label(text="Options", justify=CENTER, font="Segoe 9 bold", bg=color).grid(row=6, column=0)
 
     Label(text="float", bg=color).grid(row=1, column=1)
     Label(text="float", bg=color).grid(row=2, column=1)
@@ -69,24 +71,30 @@ def validateAll(val): # 1 mandatory argument, not used
             return 0
 
     # Setting entry points
-    e1 = Entry(relief=FLAT, justify=CENTER, bg=color)
+    e1 = Entry(justify=CENTER, width=15) # (relief=FLAT, justify=CENTER, bg=color)
     e1.grid(row=1, column=4)
     e1.insert(INSERT, 20.0)
-    e2 = Entry(relief=FLAT, justify=CENTER, bg=color)
+    e2 = Entry(justify=CENTER, width=15)
     e2.grid(row=2, column=4)
     e2.insert(INSERT, 5.2)
-    e3 = Entry(relief=FLAT, justify=CENTER, bg=color)
+    e3 = Entry(justify=CENTER, width=15)
     e3.grid(row=3, column=4)
     e3.insert(INSERT, 7.3)
-    e4 = Entry(relief=FLAT, justify=CENTER, bg=color)
+    e4 = Entry(justify=CENTER, width=15)
     e4.grid(row=4, column=4)
     e4.insert(INSERT, 6.0)
-    e5 = Entry(relief=FLAT, justify=CENTER, bg=color)
+    e5 = Entry(justify=CENTER, width=15)
     e5.grid(row=5, column=4)
     e5.insert(INSERT, 6)
 
+    model_name = ""
+    delete = False
+    reset = False
+
     def start(val):
-        mainFunc(float(e1.get()),float(e2.get()),float(e3.get()),int(e5.get()),float(e4.get()))
+        # hall_width_L, hall_height_h_o, hall_height_h_m, number_frames, frame_spacing, new_model, model_name, delete, reset
+        model_name = e6.get() if var1.get() else modeCombo.get()
+        mainFunc(float(e1.get()),float(e2.get()),float(e3.get()),int(e5.get()),float(e4.get()),var1.get(),model_name,int(var2.get()),int(var3.get()))
     def close_window(val):
         win.destroy()
 
@@ -102,12 +110,58 @@ def close_window(val):
     e5.bind('<FocusOut>', validateAll)
     e5.bind('<Key>', validateAll)
 
+    def selectRadioButton():
+        if var1.get()==1:
+            c2.config(state=DISABLED)
+            c3.config(state=DISABLED)
+            modeCombo.config(state=DISABLED)
+            e6.config(state=NORMAL)
+        else:
+            e6.config(state=DISABLED)
+            c2.config(state=NORMAL)
+            c3.config(state=NORMAL)
+            modeCombo.config(state=NORMAL)
+
+    # Radiobuttons
+    var1 = IntVar()
+    c1 = Radiobutton(win, text='create new model', variable=var1, value=1, command=selectRadioButton)
+    c1.grid(row=7, column=0, sticky=W)
+    c1.select()
+    c1 = Radiobutton(win, text='use existing model', variable=var1, value=0, command=selectRadioButton)
+    c1.grid(row=8, column=0, sticky=W)
+    c1.config(state=DISABLED)
+
+    # Textbox
+    e6 = Entry(justify=LEFT, width=19)
+    e6.grid(row=7, column=1)
+    e6.insert(INSERT, 'new_Model')
+
+    # Combobox
+    n = StringVar()
+    lst = []
+    modeCombo = ttk.Combobox(win,  text='model', width=16, textvariable=n)
+    if lstOfModels:
+        c1.config(state=NORMAL)
+        for i in lstOfModels.name:
+            lst.append(i)
+        modeCombo['values'] = lst
+        modeCombo.current(0)
+    modeCombo.grid(row=8, column=1, sticky=W)
+    
+    # Checkboxes
+    var2 = IntVar()
+    c2 = Checkbutton(win, text='delete results', state=DISABLED, variable=var2, onvalue=1, offvalue=0)
+    c2.grid(row=9, column=0, sticky=W)
+    var3 = IntVar()
+    c3 = Checkbutton(win, text='reset model', state=DISABLED, variable=var3, onvalue=1, offvalue=0)
+    c3.grid(row=10, column=0, sticky=W)
+
     button1=Button(text='Run', anchor=CENTER, width=12, height=1, bg=color, state="normal") # width=16
-    button1.grid(row=6, column=4)
+    button1.grid(row=11, column=4)
     button1.bind('<ButtonRelease-1>', start)
 
     button2=Button(text='Close', anchor=CENTER, width=12, height=1, bg=color, state="normal")
-    button2.grid(row=6, column=3)
+    button2.grid(row=11, column=3)
     button2.bind('<ButtonRelease-1>', close_window)
 
     win.mainloop()


Test patch:
diff --git a/UnitTests/test_Free_Load_Test.py b/UnitTests/test_Free_Load_Test.py
index b5d8d28f..f8f969e6 100644
--- a/UnitTests/test_Free_Load_Test.py
+++ b/UnitTests/test_Free_Load_Test.py
@@ -28,7 +28,8 @@
 from RFEM.Loads.surfaceLoad import *
 
 def test_free_load():
-    clientModel.service.begin_modification('new')
+    Model(True, "FreeLoad")
+    Model.clientModel.service.begin_modification('new')
 
     Material(1, 'S235')
 
@@ -213,8 +214,8 @@ def test_free_load():
                          [[1, 4], [0, 6], [2, 6]],
                          [1500, 7500, 2, 1])
 
-    #print(clientModel)
+    #print(Model.clientModel)
     #Calculate_all()
     print('Ready!')
-
-    clientModel.service.finish_modification()
\ No newline at end of file
+    
+    Model.clientModel.service.finish_modification()
diff --git a/UnitTests/test_LineLoads_Test.py b/UnitTests/test_LineLoads_Test.py
index 371361a4..c9364ecb 100644
--- a/UnitTests/test_LineLoads_Test.py
+++ b/UnitTests/test_LineLoads_Test.py
@@ -32,8 +32,9 @@
 from RFEM.Loads.surfaceLoad import *
 
 def test_line_loads():
-
-	clientModel.service.begin_modification('new')
+	
+	Model(True, "LineLoads")
+	Model.clientModel.service.begin_modification('new')
 
 	# Creating a lot of lines for line load testing
 
@@ -46,14 +47,14 @@ def test_line_loads():
 	nodes_no = ''
 	for i in range(1, 21):
 		if i < 20:
-				surface_str += str(i)+' '
-				nodes_no = str(i)+' '+str(i+1)
-				Line(i, nodes_no)
+			surface_str += str(i)+' '
+			nodes_no = str(i)+' '+str(i+1)
+			Line(i, nodes_no)
 		else:
-				surface_str += str(i)
-				nodes_no = str(i)+' 1'
-				Line(i, nodes_no)
-
+			surface_str += str(i)
+			nodes_no = str(i)+' 1'
+			Line(i, nodes_no)
+	
 	Material()
 	Thickness()
 	Surface(1, surface_str)
@@ -92,7 +93,7 @@ def test_line_loads():
 					 load_distribution= LineLoadDistribution.LOAD_DISTRIBUTION_CONCENTRATED_VARYING,
 					 load_parameter=[[0.2, 0.1, 200], [0.5, 0.2, 200]])
 
-# NOTE. THESE OFFSET PARAMETERS AREN'T WORKING. THE ERROR IS APPARENTLY A BUG IN BACK-END AND HAS BEEN REPORTED. NOT SURE HOW TO PROCEED (?)
+	# NOTE. THESE OFFSET PARAMETERS AREN'T WORKING. THE ERROR IS APPARENTLY A BUG IN BACK-END AND HAS BEEN REPORTED. NOT SURE HOW TO PROCEED (?)
 	# LineLoad.Force(LineLoad, 7, 2, '7',
 	# 				 load_distribution= LineLoadDistribution.LOAD_DISTRIBUTION_TRAPEZOIDAL,
 	# 				 load_parameter=[True, True, 2000, 2000, 0.2, 0.5])
@@ -101,7 +102,7 @@ def test_line_loads():
 					 load_distribution= LineLoadDistribution.LOAD_DISTRIBUTION_PARABOLIC,
 					 load_parameter=[750, 1000, 2500])
 
-# NOTE. THESE OFFSET PARAMETERS AREN'T WORKING. THE ERROR IS APPARENTLY A BUG IN BACK-END AND HAS BEEN REPORTED. NOT SURE HOW TO PROCEED (?)
+	# NOTE. THESE OFFSET PARAMETERS AREN'T WORKING. THE ERROR IS APPARENTLY A BUG IN BACK-END AND HAS BEEN REPORTED. NOT SURE HOW TO PROCEED (?)
 	# LineLoad.Force(LineLoad, 9, 2, '9',
 	# 				 load_distribution= LineLoadDistribution.LOAD_DISTRIBUTION_VARYING,
 	# 				 load_parameter=[[1000, 500, 750], [250, 200, 600]])
@@ -134,12 +135,12 @@ def test_line_loads():
 					 load_distribution= LineLoadDistribution.LOAD_DISTRIBUTION_CONCENTRATED_VARYING,
 					 load_parameter=[[0.2, 0.1, 200], [0.5, 0.2, 200]])
 
-# NOTE. THESE OFFSET PARAMETERS AREN'T WORKING. THE ERROR IS APPARENTLY A BUG IN BACK-END AND HAS BEEN REPORTED. NOT SURE HOW TO PROCEED (?)
+	# NOTE. THESE OFFSET PARAMETERS AREN'T WORKING. THE ERROR IS APPARENTLY A BUG IN BACK-END AND HAS BEEN REPORTED. NOT SURE HOW TO PROCEED (?)
 	# LineLoad.Moment(LineLoad, 7, 3, '7',
 	# 				 load_distribution= LineLoadDistribution.LOAD_DISTRIBUTION_TRAPEZOIDAL,
 	# 				 load_parameter=[True, True, 2000, 2000, 0.2, 0.5])
 
-# NOTE. THESE OFFSET PARAMETERS AREN'T WORKING. THE ERROR IS APPARENTLY A BUG IN BACK-END AND HAS BEEN REPORTED. NOT SURE HOW TO PROCEED (?)
+	# NOTE. THESE OFFSET PARAMETERS AREN'T WORKING. THE ERROR IS APPARENTLY A BUG IN BACK-END AND HAS BEEN REPORTED. NOT SURE HOW TO PROCEED (?)
 	# LineLoad.Moment(LineLoad, 8, 3, '8',
 	# 				 load_distribution= LineLoadDistribution.LOAD_DISTRIBUTION_TAPERED,
 	# 				 load_parameter=[True, True, 2000, 2000, 0.2, 0.5])
@@ -148,7 +149,7 @@ def test_line_loads():
 					 load_distribution= LineLoadDistribution.LOAD_DISTRIBUTION_PARABOLIC,
 					 load_parameter=[750, 1000, 2500])
 
-# NOTE. THESE OFFSET PARAMETERS AREN'T WORKING. THE ERROR IS APPARENTLY A BUG IN BACK-END AND HAS BEEN REPORTED. NOT SURE HOW TO PROCEED (?)
+	# NOTE. THESE OFFSET PARAMETERS AREN'T WORKING. THE ERROR IS APPARENTLY A BUG IN BACK-END AND HAS BEEN REPORTED. NOT SURE HOW TO PROCEED (?)
 	# LineLoad.Moment(LineLoad, 10, 3, '10',
 	# 				 load_distribution= LineLoadDistribution.LOAD_DISTRIBUTION_VARYING,
 	# 				 load_parameter=[[1000, 500, 750], [250, 200, 600]])
@@ -166,6 +167,6 @@ def test_line_loads():
 					 mass_components=[1000,1000,10000])
 
 	print('Ready!')
-
-	clientModel.service.finish_modification()
-
+	
+	Model.clientModel.service.finish_modification()
+	
diff --git a/UnitTests/test_LoadCases_Test.py b/UnitTests/test_LoadCases_Test.py
index a3206075..0f34dd1e 100644
--- a/UnitTests/test_LoadCases_Test.py
+++ b/UnitTests/test_LoadCases_Test.py
@@ -28,8 +28,8 @@
 from RFEM.Loads.surfaceLoad import *
 
 def test_load_case():
-
-	clientModel.service.begin_modification('new')
+	Model(True, "LoadCases")
+	Model.clientModel.service.begin_modification('new')
 
 	StaticAnalysisSettings()
 	LoadCase.StaticAnalysis(LoadCase, 1, 'SW', True, 1, DIN_Action_Category['1A'], [True, 0, 0, 1])
@@ -37,4 +37,4 @@ def test_load_case():
 	LoadCase.StaticAnalysis(LoadCase, 3, 'Snow', True,  1, DIN_Action_Category['4A'], [False])
 	LoadCase.StaticAnalysis(LoadCase, 4, 'Wind', False,  1, DIN_Action_Category['5'], [False])
 
-	clientModel.service.finish_modification()
\ No newline at end of file
+	Model.clientModel.service.finish_modification()
diff --git a/UnitTests/test_LoadDistributionSurface_Test.py b/UnitTests/test_LoadDistributionSurface_Test.py
index 6f18d6a9..d43ff8c9 100644
--- a/UnitTests/test_LoadDistributionSurface_Test.py
+++ b/UnitTests/test_LoadDistributionSurface_Test.py
@@ -32,8 +32,8 @@
 from RFEM.Loads.surfaceLoad import *
 
 def test_load_distribution_surface():
-
-    clientModel.service.begin_modification('new')
+    Model(True, "LoadDistributionSurfaces")
+    Model.clientModel.service.begin_modification('new')
 
     # Testing the Default Function
     Node(1, 0, -30, 0), Node(2, 10, -30, 0), Node(3, 10, -20, 0), Node(4, 0, -20, 0)
@@ -48,5 +48,5 @@ def test_load_distribution_surface():
     Surface.LoadDistribution(Surface, 2, boundary_lines_no= '5 6 7 8', load_transfer_direction=SurfaceLoadTransferDirection.LOAD_TRANSFER_DIRECTION_IN_BOTH,
                              surface_weight_enabled=True, surface_weight=10, loaded_lines='6 7 8', excluded_lines='5')
 
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
diff --git a/UnitTests/test_MemberLoad_test.py b/UnitTests/test_MemberLoad_test.py
index 96483290..a42aa66c 100644
--- a/UnitTests/test_MemberLoad_test.py
+++ b/UnitTests/test_MemberLoad_test.py
@@ -25,8 +25,8 @@
 from RFEM.enums import *
 
 def test_member_loads():
-
-    clientModel.service.begin_modification()
+    Model(True, "MemberLoad")
+    Model.clientModel.service.begin_modification()
 
     # Create Material
     Material(1, 'S235')
@@ -265,5 +265,5 @@ def test_member_loads():
 
     print('Ready!')
 
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
diff --git a/UnitTests/test_MemberSetLoad_test.py b/UnitTests/test_MemberSetLoad_test.py
index 3fcc4ccd..7d48d002 100644
--- a/UnitTests/test_MemberSetLoad_test.py
+++ b/UnitTests/test_MemberSetLoad_test.py
@@ -26,7 +26,8 @@
 from RFEM.enums import *
 
 def test_member_set_load():
-    clientModel.service.begin_modification()
+    Model(True, "MemberSetLoad")
+    Model.clientModel.service.begin_modification()
 
     # Create Material
     Material(1, 'S235')
@@ -261,5 +262,5 @@ def test_member_set_load():
 
     print('Ready!')
 
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
diff --git a/UnitTests/test_MembraneSurface_Test.py b/UnitTests/test_MembraneSurface_Test.py
index 2764af91..98ed1ed1 100644
--- a/UnitTests/test_MembraneSurface_Test.py
+++ b/UnitTests/test_MembraneSurface_Test.py
@@ -32,8 +32,8 @@
 from RFEM.Loads.surfaceLoad import *
 
 def test_membrane_surface():
-
-    clientModel.service.begin_modification('new')
+    Model(True, "MemberSurface")
+    Model.clientModel.service.begin_modification('new')
 
     # Testing the standard surface function
     Node(1, 0, -30, 0), Node(2, 10, -30, 0), Node(3, 10, -20, 0), Node(4, 0, -20, 0)
@@ -85,5 +85,5 @@ def test_membrane_surface():
     # Quadrangle Defintion
     Surface.Membrane(Surface, 5, SurfaceGeometry.GEOMETRY_QUADRANGLE, [17, 18, 19, 20], '13 14 15 16')
 
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
diff --git a/UnitTests/test_MembraneWithoutTensionSurface_Test.py b/UnitTests/test_MembraneWithoutTensionSurface_Test.py
index 607ee91b..3976dccd 100644
--- a/UnitTests/test_MembraneWithoutTensionSurface_Test.py
+++ b/UnitTests/test_MembraneWithoutTensionSurface_Test.py
@@ -32,8 +32,8 @@
 from RFEM.Loads.surfaceLoad import *
 
 def test_membrane_without_tension_surface():
-
-    clientModel.service.begin_modification('new')
+    Model(True, "MembraneWithoutTensinSurface")
+    Model.clientModel.service.begin_modification('new')
 
     # Testing the standard surface function
     Node(1, 0, -30, 0), Node(2, 10, -30, 0), Node(3, 10, -20, 0), Node(4, 0, -20, 0)
@@ -85,5 +85,5 @@ def test_membrane_without_tension_surface():
     # Quadrangle Defintion
     Surface.WithoutMemberaneTension(Surface, 4, SurfaceGeometry.GEOMETRY_QUADRANGLE, [17, 18, 19, 20], '13 14 15 16')
 
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
diff --git a/UnitTests/test_NodalLoad_test.py b/UnitTests/test_NodalLoad_test.py
index f171d210..d96d4fe0 100644
--- a/UnitTests/test_NodalLoad_test.py
+++ b/UnitTests/test_NodalLoad_test.py
@@ -24,9 +24,10 @@
 from RFEM.dataTypes import *
 from RFEM.enums import *
 
-def test_nodal_load():
 
-    clientModel.service.begin_modification()
+def test_nodal_load():
+    Model(True, "NodalLoad")
+    Model.clientModel.service.begin_modification()
 
     # Create Material
     Material(1, 'S235')
@@ -84,5 +85,5 @@ def test_nodal_load():
 
     print('Ready!')
 
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
diff --git a/UnitTests/test_RigidSurface_Test.py b/UnitTests/test_RigidSurface_Test.py
index c0e17b72..9bde71d9 100644
--- a/UnitTests/test_RigidSurface_Test.py
+++ b/UnitTests/test_RigidSurface_Test.py
@@ -32,8 +32,8 @@
 from RFEM.Loads.surfaceLoad import *
 
 def test_rigid_surface():
-
-    clientModel.service.begin_modification('new')
+    Model(True, "RigidSurface")
+    Model.clientModel.service.begin_modification('new')
 
     # Testing the standard surface function
     Node(1, 0, -30, 0), Node(2, 10, -30, 0), Node(3, 10, -20, 0), Node(4, 0, -20, 0)
@@ -85,5 +85,5 @@ def test_rigid_surface():
     # Quadrangle Defintion
     Surface.Rigid(Surface, 4, SurfaceGeometry.GEOMETRY_QUADRANGLE, [17, 18, 19, 20], '13 14 15 16')
 
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
diff --git a/UnitTests/test_SpectralSettings_test.py b/UnitTests/test_SpectralSettings_test.py
index a804488e..e914e893 100644
--- a/UnitTests/test_SpectralSettings_test.py
+++ b/UnitTests/test_SpectralSettings_test.py
@@ -29,13 +29,15 @@
 
 def test_spectral_analysis_implemented():
 
-    exist = method_exists(clientModel,'set_spectral_analysis_settings')
+    exist = method_exists(Model.clientModel,'set_spectral_analysis_settings')
     assert exist == False #test fail once method is in T9 master or GM
 
 @pytest.mark.skip("all tests still WIP")
 def test_spectral_analysis_settings():
 
-	clientModel.service.begin_modification('new')
+	#spectral analysis is not yet supported in released RFEM6 in WS
+	Model(True, "SpectralSettings")
+	Model.clientModel.service.begin_modification('new')
 
 	# Create Material
 	Material(1, 'S235')
@@ -49,6 +51,5 @@ def test_spectral_analysis_settings():
 	SpectralAnalysisSettings(6, 'SpectralSettings_6', PeriodicResponseCombinationRule.CQC, DirectionalComponentCombinationRule.ABSOLUTE_SUM)
 
 	print('Ready!')
-
-	clientModel.service.finish_modification()
-
+	
+	Model.clientModel.service.finish_modification()
diff --git a/UnitTests/test_StandardSurface_Test.py b/UnitTests/test_StandardSurface_Test.py
index 43c041ea..fadf9b6e 100644
--- a/UnitTests/test_StandardSurface_Test.py
+++ b/UnitTests/test_StandardSurface_Test.py
@@ -33,7 +33,8 @@
 
 def test_standard_surface():
 
-    clientModel.service.begin_modification('new')
+    Model(True, "StandardSurface")
+    Model.clientModel.service.begin_modification('new')
 
     # Testing the standard surface function
     Node(1, 0, -30, 0), Node(2, 10, -30, 0), Node(3, 10, -20, 0), Node(4, 0, -20, 0)
@@ -85,5 +86,5 @@ def test_standard_surface():
     # Quadrangle Defintion
     Surface.Standard(Surface, 4, SurfaceGeometry.GEOMETRY_QUADRANGLE, [17, 18, 19, 20], '13 14 15 16')
 
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
diff --git a/UnitTests/test_SurfaceLoad_test.py b/UnitTests/test_SurfaceLoad_test.py
index c638110a..4ce26fce 100644
--- a/UnitTests/test_SurfaceLoad_test.py
+++ b/UnitTests/test_SurfaceLoad_test.py
@@ -26,7 +26,8 @@
 
 def test_surface_loads():
 
-    clientModel.service.begin_modification()
+    Model(True, "SurfaceLoad")
+    Model.clientModel.service.begin_modification()
 
     # Create Material
     Material(1, 'S235')
@@ -109,5 +110,5 @@ def test_surface_loads():
 
     print('Ready!')
 
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
diff --git a/UnitTests/test_SurfaceSetLoad_test.py b/UnitTests/test_SurfaceSetLoad_test.py
index fbc30fc5..911daba9 100644
--- a/UnitTests/test_SurfaceSetLoad_test.py
+++ b/UnitTests/test_SurfaceSetLoad_test.py
@@ -27,7 +27,8 @@
 
 def test_surface_set_load():
 
-    clientModel.service.begin_modification()
+    Model(True, "SurfaceSetLoad")
+    Model.clientModel.service.begin_modification()
 
     # Create Material
     Material(1, 'S235')
@@ -147,5 +148,5 @@ def test_surface_set_load():
 
     print('Ready!')
 
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
diff --git a/UnitTests/test_Thickness_Test.py b/UnitTests/test_Thickness_Test.py
index 58569cfb..06aa72c0 100644
--- a/UnitTests/test_Thickness_Test.py
+++ b/UnitTests/test_Thickness_Test.py
@@ -28,9 +28,9 @@
 from RFEM.Loads.surfaceLoad import *
 
 def test_thickness():
-
-    clientModel.service.begin_modification('new')
-
+    
+    Model(True, "Thickness")
+    Model.clientModel.service.begin_modification('new')
     Material(1, 'C30/37')
 
     ##  THICKNESS TYPE
@@ -115,5 +115,5 @@ def test_thickness():
 
     #Calculate_all()
     print('Ready!')
-
-    clientModel.service.finish_modification()
\ No newline at end of file
+    
+    Model.clientModel.service.finish_modification()
diff --git a/UnitTests/test_WithoutThicknessSurface_Test.py b/UnitTests/test_WithoutThicknessSurface_Test.py
index de5f7413..a0d00c62 100644
--- a/UnitTests/test_WithoutThicknessSurface_Test.py
+++ b/UnitTests/test_WithoutThicknessSurface_Test.py
@@ -33,7 +33,8 @@
 
 def test_without_thickness_surface():
 
-    clientModel.service.begin_modification('new')
+    Model(True, "WithoutThicknessSurface")
+    Model.clientModel.service.begin_modification('new')
 
     # Testing the standard surface function
     Node(1, 0, -30, 0), Node(2, 10, -30, 0), Node(3, 10, -20, 0), Node(4, 0, -20, 0)
@@ -85,5 +86,5 @@ def test_without_thickness_surface():
     # Quadrangle Defintion
     Surface.WithoutThickness(Surface, 4, SurfaceGeometry.GEOMETRY_QUADRANGLE, [17, 18, 19, 20], '13 14 15 16')
 
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
 
diff --git a/UnitTests/test_modalAnalysis_test.py b/UnitTests/test_modalAnalysis_test.py
index 7ac0ef95..10565664 100644
--- a/UnitTests/test_modalAnalysis_test.py
+++ b/UnitTests/test_modalAnalysis_test.py
@@ -35,7 +35,8 @@ def test_modal_analysis_implemented():
 def test_modal_analysis_settings():
 
     # modal analysis not yet implemmented in released RFEM6
-    clientModel.service.begin_modification()
+    Model(True, "ModalAnalysis")
+    Model.clientModel.service.begin_modification()
 
     # Create Material
     Material(1, 'S235')
@@ -73,4 +74,5 @@ def test_modal_analysis_settings():
 
     print('Ready!')
 
-    clientModel.service.finish_modification()
+    Model.clientModel.service.finish_modification()
+