diff --git a/pykat/finesse.py b/pykat/finesse.py
index 3aaf92cdfc0dac38c4204e784bdc0bba38cf6c3a..40baf9d069d2afa0978977aaf817e429b5f2fb29 100644
--- a/pykat/finesse.py
+++ b/pykat/finesse.py
@@ -81,7 +81,7 @@ from collections import namedtuple, OrderedDict
 
 from pykat.node_network import NodeNetwork
 from pykat.detectors import BaseDetector as Detector
-from pykat.components import Component
+from pykat.components import Component, mirror, beamSplitter, space
 from pykat.commands import Command, xaxis
 from pykat.SIfloat import *
 from pykat.param import Param, AttrParam
@@ -808,6 +808,21 @@ class kat(object):
                 items.append(b)
 
         return tuple(items)
+    
+    @property
+    def mirrors(self):
+        """Returns a collection of the mirrors defined within the kat object."""
+        return self.getAll(mirror)
+
+    @property
+    def beamSplitters(self):
+        """Returns a collection of the beam splitters defined within the kat object."""
+        return self.getAll(beamSplitter)
+
+    @property
+    def spaces(self):
+        """Returns a collection of the spaces defined within the kat object."""
+        return self.getAll(space)
         
     def __deepcopy__(self, memo):
         """