diff --git a/.gitignore b/.gitignore
index 1a9ef7695970df0e26fed4752ed14be3348c6caa..599ccfbd1429956ee3e31b8e15311120f9851e45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@
 
 # Docs
 docs/doxyxml/
+docs/build/*
 
 # Byte-compiled / optimized / DLL files
 __pycache__/
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 190e16df3029ef5921aa1fe7ef1842935a0bdda3..9253a74117d5716e4d0741e7f5d4c4a66893893c 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -1,5 +1,13 @@
-ALE C API
-======
+#############################
+Ephemeris Abstraction Library
+#############################
 
-.. doxygenfile:: ale.cpp
-   :project: ale
+:Release: |version|
+:Date: |today|
+
+.. toctree::
+   :maxdepth: 2
+
+   library/capi/index
+   library/python/index
+   library/ale/index
\ No newline at end of file
diff --git a/docs/source/library/ale/index.rst b/docs/source/library/ale/index.rst
new file mode 100644
index 0000000000000000000000000000000000000000..f830013a705391fbe8bb8c42be0f1b683b806772
--- /dev/null
+++ b/docs/source/library/ale/index.rst
@@ -0,0 +1,5 @@
+ALE C API
+=========
+
+.. doxygenfile:: ale.cpp
+   :project: ale
\ No newline at end of file
diff --git a/docs/source/library/capi/capi.rst b/docs/source/library/capi/capi.rst
index 20a5da8cd258804907441f25ab13c3ae9ba7c95c..8e15127b4098ed0be5f54b8bbb78248eaf667585 100644
--- a/docs/source/library/capi/capi.rst
+++ b/docs/source/library/capi/capi.rst
@@ -1,4 +1,4 @@
-:mod:`capi` --- Input/Output Algorithms
+:mod:`capi` --- A.L.E C-API
 ============================================
 
 The :mod:`src` module
diff --git a/docs/source/library/capi/index.rst b/docs/source/library/capi/index.rst
index 1e6854fead31353e48845ab5b754ba2d1c463549..5cc8f4a5a8a06ff451cd39eed333e8736abae726 100644
--- a/docs/source/library/capi/index.rst
+++ b/docs/source/library/capi/index.rst
@@ -1,7 +1,5 @@
 :mod:`capi` --- All A.L.E. functions
-===================================
-
-The internal data structures used by PyHAT to represent 1d, 2d, and n-dimensional data.
+====================================
 
 -----------------------------------------
 
diff --git a/docs/source/library/index.rst b/docs/source/library/index.rst
index 33fdb9639c12b8c7ea9085d7284edaa7ca9a533a..fa8f0a38aa68f3c2ee197d210aa7aad742522405 100644
--- a/docs/source/library/index.rst
+++ b/docs/source/library/index.rst
@@ -9,4 +9,5 @@ Library Reference
    :maxdepth: 2
 
    capi/index
-   io/index
+   python/index
+   ale/index
diff --git a/docs/source/library/io/base.rst b/docs/source/library/python/base.rst
similarity index 100%
rename from docs/source/library/io/base.rst
rename to docs/source/library/python/base.rst
diff --git a/docs/source/library/io/cassini_driver.rst b/docs/source/library/python/cassini_driver.rst
similarity index 79%
rename from docs/source/library/io/cassini_driver.rst
rename to docs/source/library/python/cassini_driver.rst
index 3894b40605a2670cc9a974e58214f0d9c54c5050..4837fd6e5a509ef168aa5df55ee591f2df4d3550 100644
--- a/docs/source/library/io/cassini_driver.rst
+++ b/docs/source/library/python/cassini_driver.rst
@@ -1,5 +1,5 @@
 :mod:`cassini_driver` --- Cassini Driver Classes
-============================================
+================================================
 
 The :mod:`ale.drivers.cassini_driver` module
 
diff --git a/docs/source/library/io/index.rst b/docs/source/library/python/index.rst
similarity index 56%
rename from docs/source/library/io/index.rst
rename to docs/source/library/python/index.rst
index 810ec2c15a1941cdd5cd313fe1d2fa6f2a2cc503..5ff4aa53600900217a03e17e8a544bc68e3a4dbd 100644
--- a/docs/source/library/io/index.rst
+++ b/docs/source/library/python/index.rst
@@ -1,7 +1,6 @@
-:mod:`io` --- Input/Output Algorithms
+:mod:`python` --- Input/Output Algorithms
 ============================================
 
-The internal data structures used by PyHAT to represent 1d, 2d, and n-dimensional data.
 
 -----------------------------------------
 
@@ -9,7 +8,7 @@ The internal data structures used by PyHAT to represent 1d, 2d, and n-dimensiona
 
   base
   cassini_driver
-  io
   lro_driver
   mdis_driver
   mro_driver
+  util
diff --git a/docs/source/library/io/lro_driver.rst b/docs/source/library/python/lro_driver.rst
similarity index 100%
rename from docs/source/library/io/lro_driver.rst
rename to docs/source/library/python/lro_driver.rst
diff --git a/docs/source/library/io/mdis_driver.rst b/docs/source/library/python/mdis_driver.rst
similarity index 100%
rename from docs/source/library/io/mdis_driver.rst
rename to docs/source/library/python/mdis_driver.rst
diff --git a/docs/source/library/io/mro_driver.rst b/docs/source/library/python/mro_driver.rst
similarity index 100%
rename from docs/source/library/io/mro_driver.rst
rename to docs/source/library/python/mro_driver.rst
diff --git a/docs/source/library/io/io.rst b/docs/source/library/python/util.rst
similarity index 57%
rename from docs/source/library/io/io.rst
rename to docs/source/library/python/util.rst
index e677dfcab4b359edd9ba9ed0e6875ecfba78c90f..375ceb2da4349911634814a790af2d190b19f1d6 100644
--- a/docs/source/library/io/io.rst
+++ b/docs/source/library/python/util.rst
@@ -1,14 +1,10 @@
-:mod:`io` --- General Input/Output Algorithms
+:mod:`util` --- General Utilities
 ============================================
 
 The :mod:`ale.drivers` module
 
 .. versionadded:: 0.1.0
 
-.. automodule:: ale.drivers.__init__.py
-   :synopsis:
-   :members:
-
  .. automodule:: ale.util
     :synopsis:
     :members: