diff --git a/docs/APPC API Guide/APPC API Guide.rst b/docs/APPC API Guide/APPC API Guide.rst
index 6938d15..8b07190 100644
--- a/docs/APPC API Guide/APPC API Guide.rst
+++ b/docs/APPC API Guide/APPC API Guide.rst
@@ -1,9 +1,11 @@
+.. _appc_api_guide:
+
 ============================================
 ONAP Application Controller (APPC) API Guide
 ============================================
 
 Revision History
-----------------
+================
 
 +--------------+------------+---------------+--------------------------------------------------------+
 | Date         | Revision   | Author        | Changes                                                |
@@ -21,7 +23,7 @@
 | 2017-02-06   | 1.0.0      | mjf           | copyright updated                                      |
 +--------------+------------+---------------+--------------------------------------------------------+
 
-|
+
 
 Introduction
 ============
@@ -71,14 +73,16 @@
 
 The client library supports both synchronous and asynchronous flows as follows.
 
-**Asynchronous Flow**
+Asynchronous Flow
+^^^^^^^^^^^^^^^^^
 
 - The APPC Client Library is called via an asynchronous API using a full command object, which is mapped to a JSON representation.
 - The APPC client calls the UEB/DMaaP client and sends the JSON command to a configured topic.
 - The APPC client pulls response messages from the configured topic.
 - On receiving the response for the command, APPC client runs the relevant callback method of the consumer ResponseHandler.
 
-**Synchronous Flow**
+Synchronous Flow
+^^^^^^^^^^^^^^^^
 
 - The APPC Client Library is called via a synchronous API using a full command object, which is mapped to a JSON representation.
 - The APPC client calls the UEB/DMaaP client and sends the JSON command to a configured topic.
@@ -128,7 +132,7 @@
 The LCM API general request format is applicable for both POST HTTP API and for the message body received via the EUB/DMaaP bus.
 
 LCM Request
------------
+^^^^^^^^^^^
 
 The LCM request comprises a common header and a section containing the details of the LCM action.
 The LCM request conforms to the following structure::
@@ -252,7 +256,7 @@
 
 
 LCM Response
-------------
+^^^^^^^^^^^^
 
 The LCM response comprises a common header and a section containing the payload and action details.
 
@@ -633,7 +637,7 @@
 +----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+----------------------------------+
 
 Audit Response
---------------
+^^^^^^^^^^^^^^
 
 The audit response returns an indication of success or failure of the audit. If a new configuration is uploaded to the APPC database, the payload contains the ‘upload\_config\_id’ and values for any records created. In addition, the configuration is sent to the ECOMP Data Router bus which may be received by an external configuration storage system.
 
@@ -664,7 +668,7 @@
 +------------------------------+--------------------------------------------------------+
 
 CheckLock Response
-------------------
+^^^^^^^^^^^^^^^^^^
 
 The CheckLock command returns a customized version of the LCM
 response.
@@ -751,7 +755,7 @@
 
 
 Configure Response
-------------------
+^^^^^^^^^^^^^^^^^^
 
 The Configure response returns an indication of success or failure of the request. If successful, the return payload contains the ‘upload\_config\_id’ and values for any records created. In addition, the configuration is sent to the ECOMP Data Router bus  which may be received by an external configuration storage system.
 
@@ -809,7 +813,7 @@
 A failed Configure action returns a failure response and the specific failure message in the response block.
 
 ConfigModify Response
----------------------
+^^^^^^^^^^^^^^^^^^^^^
 
 The ConfigModify response returns an indication of success or failure of the request. If successful, the return payload contains the ‘upload\_config\_id’ and values for any records created. In addition, the configuration is sent to the ECOMP Data Router bus which may be received by an external configuration storage system.
 
@@ -855,7 +859,7 @@
 +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+-----------------------------------------------------------------+
 
 ConfigBackup Response
----------------------
+^^^^^^^^^^^^^^^^^^^^^
 
 The ConfigBackup response returns an indication of success or failure of the request.
 
@@ -901,7 +905,7 @@
 +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+-----------------------------------------------------------------+
 
 ConfigRestore Response
-----------------------
+^^^^^^^^^^^^^^^^^^^^^^
 
 The ConfigRestore response returns an indication of success or failure of the request.
 
@@ -1204,7 +1208,7 @@
 +---------------------+-------------------------------------------------------------------------+---------------------+------------------------------------+
 
 Snapshot Response
------------------
+^^^^^^^^^^^^^^^^^
 
 The Snapshot command returns an extended version of the LCM response.
 
@@ -1275,7 +1279,7 @@
 +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+-----------------------------------------------------------------+
 
 StartApplication Response
--------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^
 
 The StartApplication response returns an indication of success or failure of the request.
 
@@ -1335,7 +1339,7 @@
 +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+-----------------------------------------------------------------+
 
 StopApplication Response
-------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^
 
 The StopApplication response returns an indication of success or failure of the request.
 
diff --git a/docs/APPC Client Library Guide/APPC Client Library Guide.rst b/docs/APPC Client Library Guide/APPC Client Library Guide.rst
index 7de54b3..37b8716 100644
--- a/docs/APPC Client Library Guide/APPC Client Library Guide.rst
+++ b/docs/APPC Client Library Guide/APPC Client Library Guide.rst
@@ -6,14 +6,13 @@
 
 
 Revision History
-----------------
+================
 
 +--------------+------------+---------------+--------------------------------------------------+
 | Date         | Revision   | Author        | Changes                                          |
 +--------------+------------+---------------+--------------------------------------------------+
 | 2017-08-22   | 1.0.0      | Paul Miller   | First draft                                      |
 +--------------+------------+---------------+--------------------------------------------------+
-+--------------+------------+---------------+--------------------------------------------------+
 
 Introduction
 ============
@@ -26,7 +25,9 @@
 Related Documentation
 ---------------------
 
-For additional information, see the ONAP Application Controller (APPC) API Guide.
+For additional information, see 
+
+	:ref:`appc_api_guide`
 
 
 Client Library Background
@@ -54,14 +55,16 @@
 
     |image0|
 
-**Asynchronous Flow**
+Asynchronous Flow
+^^^^^^^^^^^^^^^^^
 
 -  The APPC Client Library is called using an asynchronous API using a full command object, which is mapped to a JSON representation.
 -  The APPC client calls the UEB client and sends the JSON command to a configured topic.
 -  The APPC client pulls response messages from the configured topic.
 -  On receiving the response for the command, the APPC client runs the relevant callback method of the consumer ResponseHandler.
 
-**Synchronous Flow**
+Synchronous Flow
+^^^^^^^^^^^^^^^^
 
 -  The APPC Client Library is called using a synchronous API using a full command object, which is mapped to a JSON representation.
 -  The APPC client calls the UEB client and sends the JSON command to a configured topic.
