diff --git a/books/pru-cookbook/01case/case.rst b/books/pru-cookbook/01case/case.rst
index 3005d0527decaa90ea5c83f2361eae6f8d648a5e..5bc78beff66f92fcfd36f6eff1ef921f876b7914 100644
--- a/books/pru-cookbook/01case/case.rst
+++ b/books/pru-cookbook/01case/case.rst
@@ -103,7 +103,7 @@ via the PRU that can be used out of the box.
    The I/O pins on the Beagles have a mutliplexer that lets you select what I/O 
    appears on a given pin.  The Blue has the mux already configured to to run these
    examples.  Follow the instructions in 
-   :ref:`../03details/details.html#details_configure_servos, Configuring Pins for Controlling Servos` 
+   :ref:`details_configure_servos` 
    to configure the pins for the Black and the Pocket.
 
 
@@ -215,7 +215,7 @@ Solution
 ---------
 
 This is a more advanced problem and required reprograming the PRUs.  See 
-:ref:`../05blocks/blocks.html#blocks_pwm, PWM Generator` for an example.
+:ref:`blocks_pwm` for an example.
 
 Reading Hardware Encoders
 ==========================
@@ -272,7 +272,7 @@ eQEP to pin mapping
    The I/O pins on the Beagles have a mutliplexer that lets you select what I/O 
    appears on a given pin.  The Blue has the mux already configured to to run these
    examples.  Follow the instructions in 
-   :ref:`../03details/details.html#details_configure_encoders, Configuring Pins for Controlling Encoders` 
+   :ref:`details_configure_encoders` 
    to configure the pins for the Black and the Pocket.
 
 
diff --git a/books/pru-cookbook/02start/start.rst b/books/pru-cookbook/02start/start.rst
index 1150f2237fae6cc5a02eeca881c76178ae9b297a..2e02a6f75d90e6f1506a7523b159be5f2420e5e5 100644
--- a/books/pru-cookbook/02start/start.rst
+++ b/books/pru-cookbook/02start/start.rst
@@ -339,7 +339,7 @@ to run it right now do the following.
 .. tip::
 
     If the following doesn't work see 
-    `Compiling with clpru and lnkpru <../03details/details.html#_compiling_with_clpru_and_lnkpru>`_
+    :ref:`compiling_with_clpru_and_lnkpru`
     for instillation instructions.
 
 .. _start_running_code:
diff --git a/books/pru-cookbook/03details/details.rst b/books/pru-cookbook/03details/details.rst
index 5bc99bbb09867fe25207723b05c711d9fc4f13ba..55f8761fda6acee8c5100a2fbbc7e2f10da22c7c 100644
--- a/books/pru-cookbook/03details/details.rst
+++ b/books/pru-cookbook/03details/details.rst
@@ -42,6 +42,7 @@ It's all on a GitHub repository.
    code to be identical for specific version. The version needs to be noted in the
    documentation.
 
+.. _compiling_with_clpru_and_lnkpru:
 
 Compiling with clpru and lnkpru
 ********************************
diff --git a/books/pru-cookbook/04debug/debug.rst b/books/pru-cookbook/04debug/debug.rst
index 077951e343d551eeba9cade460d60ccc1ff9b73c..4298bf0739ac7955af631d88405fc197e428177c 100644
--- a/books/pru-cookbook/04debug/debug.rst
+++ b/books/pru-cookbook/04debug/debug.rst
@@ -270,9 +270,7 @@ Here's the shared memory.
 You can also use ``prudebug`` to set breakpoints and single step, 
 but I haven't used that feature much.
 
-:ref:`../05blocks/blocks.html#_memory_allocation, Memory Allocation` gives examples 
-of how you can control where your vaiables are stored in memory.
-
+:ref:`memory_allocation` gives examples of how you can control where your vaiables are stored in memory.
 
 UART
 ******
@@ -381,8 +379,9 @@ config-pin
 
 .. note::
 
-  See :ref:`../08ai/ai.html#ai_device_tree, Configuring pins on the AI via device trees` for configuring 
-  pins on the AI. Make sure your `rx` pins are configured as input pins in the device tree.
+  See :ref:`ai_device_tree` for configuring 
+  pins on the AI. Make sure your `rx` pins are 
+  configured as input pins in the device tree.
 
 For example 
 
diff --git a/books/pru-cookbook/05blocks/blocks.rst b/books/pru-cookbook/05blocks/blocks.rst
index 18adbe14e6a9a15e20de4ca31d0657ccff3f6f3a..d774655ff2f715db64e6e41c05ca1a699c8e9bc7 100644
--- a/books/pru-cookbook/05blocks/blocks.rst
+++ b/books/pru-cookbook/05blocks/blocks.rst
@@ -16,6 +16,8 @@ Resources
 * `Exploring BeagleBone by Derek Molloy <http://exploringbeaglebone.com/>`_
 * `WS2812 Data Sheet <https://cdn-shop.adafruit.com/datasheets/WS2812.pdf>`_
 
+.. _memory_allocation:
+
 Memory Allocation
 ******************