diff --git a/net_api_generator/generator.py b/net_api_generator/generator.py
index 59cedd9c666cd058349ddaa648630b9250181216..ccfef71fccf8c8361d173e43dab848af4fb29ff0 100644
--- a/net_api_generator/generator.py
+++ b/net_api_generator/generator.py
@@ -538,7 +538,7 @@ def typescript(output_dir, middleware_openapi):
     generated_api_calls = generate_api_calls(loader.api_functions)
     write_generated_code_to_file(code_header, imports, generated_type_definitions, generated_api_calls)
 
-#    middleware_generator.typescript(middleware_openapi)
+    middleware_generator.typescript(middleware_openapi)
 
 @cli.command(name='es-webpack')
 @click.option('--output-dir', default='src/api-services.gen/')
diff --git a/net_api_generator/middleware_generator/MiddlewareLoader.py b/net_api_generator/middleware_generator/MiddlewareLoader.py
index dd54dd4e616877b7e5a5fc313ed9bc2e31a68a8c..a3d0b958aabe1bb23255723461fc86f9465a92b6 100644
--- a/net_api_generator/middleware_generator/MiddlewareLoader.py
+++ b/net_api_generator/middleware_generator/MiddlewareLoader.py
@@ -35,10 +35,9 @@ class MiddlewareLoader:
                     connected_parameter_types: list[FunctionParameterBaseType] = []
                     for connected_types in object_property[property_child_key]:
                         if 'type' in connected_types:
-                            if "items" in connected_types and connected_types['title'] == "array":
+                            if "items" in connected_types and connected_types['type'] == "array":
                                 if len(connected_types['items']) > 0:
                                     array_type = self.load_object_property(property_key, connected_types['items'])
-                                    print(array_type)
                                 else:
                                     array_type = FunctionParameterSimpleType("any", property_key)
                                 parameter_type = FunctionParameterArrayType(array_type, property_key)
@@ -83,15 +82,17 @@ class MiddlewareLoader:
                     # todo: handle default values + description
                     return parameter_type
 
-    def load_properties_parameter_type(self, object_properties: dict)->list[FunctionParameterBaseType]:
+    def load_properties_parameter_types(self, object_properties: dict)->list[FunctionParameterBaseType]:
         loaded_object_properties = []
         for property_key, object_property in object_properties.items():
             loaded_object_properties.append(self.load_object_property(property_key, object_property))
         return loaded_object_properties
 
-    def load_api_object(self, component: dict)->ApiObject:
+    def load_api_object(self, component_key, component: dict)->ApiObject:
         if 'properties' in component:
-            function_paramter_types = self.load_properties_parameter_type(component['properties'])
+            function_paramter_types = self.load_properties_parameter_types(component['properties'])
+            function_parameters = {parameter_type.title: FunctionParameter(parameter_type.title, parameter_type) for parameter_type in function_paramter_types}
+            return ApiObject(component_key, function_parameters)
         elif 'enum' in component:
             enum_type = self.load_enum_parameter_type(component)
             function_parameter = FunctionParameter(enum_type.title, enum_type)
@@ -132,7 +133,7 @@ class MiddlewareLoader:
         api_objects_order = self.determine_api_object_loading_order(components['schemas'])
         for component_key in api_objects_order:
             component = components['schemas'][component_key]
-            api_object = self.load_api_object(component)
+            api_object = self.load_api_object(component_key, component)
             if api_object is not None:
                 self.api_objects.append(api_object)