diff --git a/functions/classes.py b/functions/classes.py
index 96b993eec82976ad3ce743c5c8eaf4447f0f4f2c..49f6eed52dd6177b4cbb6a08acbcf5b99e027193 100644
--- a/functions/classes.py
+++ b/functions/classes.py
@@ -191,7 +191,18 @@ class LegoComponent:
             str: A string representing the LegoComponent instance.
         """
 
-        return f"LegoComponent({self.properties if self.properties else ""})"
+        label_str = ""
+        if self.properties["label"] is not None:
+            label_str = f"label='{self.properties['label']}', "
+        property_str = ", ".join(
+            [
+                f"'{k}': '{v}'" if isinstance(v, str) else f"'{k}': {v}"
+                for k, v in self.properties.items()
+                if not k == "label"
+            ]
+        )
+        property_str = f"**{{{property_str}}}" if property_str else property_str
+        return f"LegoComponent({label_str}{property_str})"
 
     def __str__(self):
         """Handle the conversion of LegoComponent objects to str objects.
@@ -519,9 +530,35 @@ class LegoAssembly:
             return False
 
     def __repr__(self):
+        """Create a machine-readable representation of the instance.
+
+        Returns:
+            str: A string representing the LegoAssembly instance.
+        """
+
+        label_str = ""
+        if self.properties["label"] is not None:
+            label_str = f"label='{self.properties['label']}', "
+        layer_str = f"layer={self._layer}, "
+        property_str = ", ".join(
+            [
+                f"'{k}': '{v}'" if isinstance(v, str) else f"'{k}': {v}"
+                for k, v in self.properties.items()
+                if not k == "label"
+            ]
+        )
+        property_str = f"**{{{property_str}}}" if property_str else property_str
+
+        return f"LegoAssembly({label_str}{layer_str}{property_str})"
+
+    def __str__(self):
+        """Handle the conversion of LegoComponent objects to str objects.
+
+        Returns:
+            str: A string converted from the LegoComponent instance.
         """
-        String representation of the object including the component label and UUID.
-        """
+        if self.properties["label"] is None:
+            return f"LegoAssembly [{self._uuid}]"
         return f"LegoAssembly {self.properties['label']} [{self._uuid}]"