diff --git a/apidoc/fsl.fsleyes.controls.melodicclassificationgrid.rst b/apidoc/fsl.fsleyes.controls.melodicclassificationgrid.rst
new file mode 100644
index 0000000000000000000000000000000000000000..875a53aed8ff87f85df3727d1f003b9ce9be90cc
--- /dev/null
+++ b/apidoc/fsl.fsleyes.controls.melodicclassificationgrid.rst
@@ -0,0 +1,9 @@
+:orphan:
+
+fsl.fsleyes.controls.melodicclassificationgrid module
+=====================================================
+
+.. automodule:: fsl.fsleyes.controls.melodicclassificationgrid 
+    :members:
+    :undoc-members:
+    :show-inheritance:
diff --git a/apidoc/fsl.fsleyes.controls.melodicclassificationpanel.rst b/apidoc/fsl.fsleyes.controls.melodicclassificationpanel.rst
new file mode 100644
index 0000000000000000000000000000000000000000..02e4bff260369fcf3613d185091dae2f840f75f4
--- /dev/null
+++ b/apidoc/fsl.fsleyes.controls.melodicclassificationpanel.rst
@@ -0,0 +1,9 @@
+:orphan:
+
+fsl.fsleyes.controls.melodicclassificationpanel module
+======================================================
+
+.. automodule:: fsl.fsleyes.controls.melodicclassificationpanel
+    :members:
+    :undoc-members:
+    :show-inheritance:
diff --git a/apidoc/fsl.fsleyes.perspectives.rst b/apidoc/fsl.fsleyes.perspectives.rst
new file mode 100644
index 0000000000000000000000000000000000000000..10634c4c3d26642d39454615a62c2462f9eb6eec
--- /dev/null
+++ b/apidoc/fsl.fsleyes.perspectives.rst
@@ -0,0 +1,9 @@
+:orphan:
+
+fsl.fsleyes.perspectives module
+===============================
+
+.. automodule:: fsl.fsleyes.perspectives
+    :members:
+    :undoc-members:
+    :show-inheritance:
diff --git a/apidoc/fsl.utils.memoize.rst b/apidoc/fsl.utils.memoize.rst
new file mode 100644
index 0000000000000000000000000000000000000000..42519daa6750ada3ca9d1ee9a85a17d85753987c
--- /dev/null
+++ b/apidoc/fsl.utils.memoize.rst
@@ -0,0 +1,9 @@
+:orphan:
+
+fsl.utils.memoize module
+========================
+
+.. automodule:: fsl.utils.memoize
+    :members:
+    :undoc-members:
+    :show-inheritance:
diff --git a/apidoc/fsl.utils.notifier.rst b/apidoc/fsl.utils.notifier.rst
new file mode 100644
index 0000000000000000000000000000000000000000..32f231ea823ed7deb1c4f96be8256742adc58813
--- /dev/null
+++ b/apidoc/fsl.utils.notifier.rst
@@ -0,0 +1,9 @@
+:orphan:
+
+fsl.utils.notifier module
+=========================
+
+.. automodule:: fsl.utils.notifier
+    :members:
+    :undoc-members:
+    :show-inheritance:
diff --git a/apidoc/fsl.utils.status.rst b/apidoc/fsl.utils.status.rst
new file mode 100644
index 0000000000000000000000000000000000000000..2ab0edfd96dc4af3772c05a2f462214abc51ecad
--- /dev/null
+++ b/apidoc/fsl.utils.status.rst
@@ -0,0 +1,9 @@
+:orphan:
+
+fsl.utils.status module
+=======================
+
+.. automodule:: fsl.utils.status
+    :members:
+    :undoc-members:
+    :show-inheritance:
diff --git a/fsl/fsleyes/perspectives.py b/fsl/fsleyes/perspectives.py
index 5185c1a796bffe1a175810324520ad488eb86330..27b583bf3fbf58b3c18747f5c0547082a6c66d50 100644
--- a/fsl/fsleyes/perspectives.py
+++ b/fsl/fsleyes/perspectives.py
@@ -30,8 +30,8 @@ too:
 A perspective defines a layout for a :class:`.FSLEyesFrame`. It specifies the
 type and layout of one or more *views* (defined in the :mod:`.views` module)
 and, within each view, the type and layout of one or more *controls* (defined
-in the :mod:`.controls` module). See the :mod:`.fsleyes` documentation for an
-overview of views and controls.
+in the :mod:`.controls` module). See the :mod:`~fsl.fsleyes` documentation for
+an overview of views and controls.
 
 
 All of this information is stored as a string - see the