diff --git a/b_asic/gui_utils/__init__.py b/b_asic/gui_utils/__init__.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..9859b8cd6f481433c2d1cd7051c014a56866abb8 100644
--- a/b_asic/gui_utils/__init__.py
+++ b/b_asic/gui_utils/__init__.py
@@ -0,0 +1,6 @@
+"""
+B-ASIC GUI utilities.
+
+This module contains GUI classes that have a general use and are not
+strictly related to either the Block Diagram GUI or Scheduler GUI.
+"""
diff --git a/b_asic/research/__init__.py b/b_asic/research/__init__.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..5004affd515dc2a8ee42bb0153bbdafc5141603b 100644
--- a/b_asic/research/__init__.py
+++ b/b_asic/research/__init__.py
@@ -0,0 +1,12 @@
+"""
+B-ASIC module for research purposes.
+
+This module contains functions that are used in different research
+projects. They are typically not general enough to be part of the main
+library, but are packaged here for convenience, reproducibility, and
+that they may be useful for someone else as well.
+
+The following module is currently available:
+
+- :mod:`b_asic.research.interleaver`: generate matrix transposers and random interleavers.
+"""
diff --git a/docs_sphinx/gui_utils.rst b/docs_sphinx/gui_utils.rst
index 50e0d0bc3e3db884ec7d2700e97f910cd5b4c9a8..f7bedf2d9313843f32db177007af83e11cfe9277 100644
--- a/docs_sphinx/gui_utils.rst
+++ b/docs_sphinx/gui_utils.rst
@@ -1,5 +1,9 @@
-gui\_utils package
-==================
+GUI Utilities
+=============
+
+.. automodule:: b_asic.gui_utils
+   :members:
+   :undoc-members:
 
 gui\_utils.about\_window module
 -------------------------------
diff --git a/docs_sphinx/research.rst b/docs_sphinx/research.rst
index e64712dfe5122b09d0338f7109fff34958e2dd7e..a6ec0af81340b7a444ec2456b499aba113aa3550 100644
--- a/docs_sphinx/research.rst
+++ b/docs_sphinx/research.rst
@@ -1,6 +1,10 @@
 Research functions
 ==================
 
+.. automodule:: b_asic.research
+   :members:
+   :undoc-members:
+
 research.interleaver module
 ---------------------------