diff --git a/docs/index.rst b/docs/index.rst
index c910a5c..5c7d157 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -13,11 +13,10 @@
    ./sections/architecture.rst
    ./sections/offeredapis.rst
    ./sections/consumedapis.rst
+   ./sections/build.rst
    ./sections/installation.rst
-   #./sections/delivery.rst
    ./sections/logging.rst
    ./sections/configuration.rst
-   #./sections/administration.rst
    ./sections/humaninterfaces.rst
    ./sections/components/component-development.rst
    ./sections/release-notes.rst
diff --git a/docs/sections/adminstration.rst b/docs/sections/adminstration.rst
deleted file mode 100644
index 94a7407..0000000
--- a/docs/sections/adminstration.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Administration
-==============
-
-
-.. note::
-   * This section is used to describe a software component from the perspective of on-going
-     operation including regular processes and actions that are taken to configure and manage
-     the component. 
-   
-   * This section is typically: provided for platform-component or applications; and
-     referenced in user guides
-   
-   * This note must be removed after content has been added.
-
-
-Processes
----------
-
-
-Actions
--------
diff --git a/docs/sections/apis/configbinding.rst b/docs/sections/apis/configbinding.rst
index 0515d30..85df231 100644
--- a/docs/sections/apis/configbinding.rst
+++ b/docs/sections/apis/configbinding.rst
@@ -109,8 +109,6 @@
 OK; the bound config is returned as an object
 
 
-.. _i_4d863967ef9a9d9efdadd1b250c76bd6:
-
 **Response Schema:**
 
 
@@ -169,7 +167,6 @@
 OK; returns service_component_name:key
 
 
-.. _i_4d863967ef9a9d9efdadd1b250c76bd6:
 
 **Response Schema:**
 
diff --git a/docs/sections/apiexample/dcaecdap.rst b/docs/sections/apis/dcaecdap.rst
similarity index 100%
rename from docs/sections/apiexample/dcaecdap.rst
rename to docs/sections/apis/dcaecdap.rst
diff --git a/docs/sections/apis/deployment-handler.rst b/docs/sections/apis/deployment-handler.rst
index fc0b59d..c3e9c6c 100644
--- a/docs/sections/apis/deployment-handler.rst
+++ b/docs/sections/apis/deployment-handler.rst
@@ -457,7 +457,8 @@
     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
     :widths: 20, 10, 15, 15, 30, 25
 
-        inputs | No | :ref:`inputs <i_08ada55a389e24cd45beef83306fd08e>` |  |  | Object containing inputs needed by the service blueprint to create an instance of the service.
+        inputs | No |  |  |  | Object containing inputs needed by the service blueprint to create an instance of the service.
+
 Content of the object depends on the service being deployed.
 
         serviceTypeId | Yes | string |  |  | The service type identifier (a unique ID assigned by DCAE inventory) for the service to be deployed.
@@ -780,19 +781,10 @@
     :widths: 20, 10, 15, 15, 30, 25
 
         catch_up | Yes | boolean |  |  | flag to indicate whether the request contains all the policies in PDP or not
-        errored_policies | No | :ref:`errored_policies <i_0e88fa72c5312eaae3990753181ce5fe>` |  |  | whether policy-engine returned an error on the policy.
-dictionary of (policy_id -> true).
-In example: replace additionalProp1,2,3 with policy_id1,2,3 values
-
+        errored_policies | No |  |  |  | whether policy-engine returned an error on the policy.
         errored_scopes | No | array of string |  |  | on cartchup - list of policy scope_prefix values on wchich the policy-engine experienced an error other than not-found data.
-
-        latest_policies | Yes | :ref:`latest_policies <i_cbc40bad95bddbd536eeab0a92f483af>` |  |  | dictionary of (policy_id -> DCAEPolicy object).
-In example: replace additionalProp1,2,3 with policy_id1,2,3 values
-
-        removed_policies | Yes | :ref:`removed_policies <i_0ce52a29e44aa0cc7929fe7b555551bc>` |  |  | whether policy was removed from policy-engine.
-dictionary of (policy_id -> true).
-In example: replace additionalProp1,2,3 with policy_id1,2,3 values
-
+        latest_policies | Yes | |  |  | dictionary of (policy_id -> DCAEPolicy object).
+        removed_policies | Yes | |  |  | whether policy was removed from policy-engine.
         scope_prefixes | No | array of string |  |  | on catchup - list of all scope_prefixes used by the policy-handler to retrieve the policies from policy-engine.
 
 
@@ -874,7 +866,6 @@
 Data Structures
 ~~~~~~~~~~~~~~~
 
-.. _d_eea14e4929853a5aa415f44cd4868302:
 
 DCAEDeploymentRequest Model Structure
 -------------------------------------
@@ -887,13 +878,10 @@
     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
     :widths: 20, 10, 15, 15, 30, 25
 
-        inputs | No | :ref:`inputs <i_08ada55a389e24cd45beef83306fd08e>` |  |  | Object containing inputs needed by the service blueprint to create an instance of the service.
-Content of the object depends on the service being deployed.
-
+        inputs | No | |  |  | Object containing inputs needed by the service blueprint to create an instance of the service.
         serviceTypeId | Yes | string |  |  | The service type identifier (a unique ID assigned by DCAE inventory) for the service to be deployed.
 
 
-.. _i_08ada55a389e24cd45beef83306fd08e:
 
 **Inputs schema:**
 
@@ -1007,7 +995,6 @@
         requestId | Yes | string |  |  | A unique identifier assigned to the request.  Useful for tracing a request through logs.
 
         status | Yes | string |  |  | Status of the installation or uninstallation operation.  Possible values are 'processing',
-'succeeded', and 'failed'
 
 
 .. _i_2feace8c1d3584ec637edc0eb1b92699:
@@ -1067,8 +1054,6 @@
 
 
 
-.. _d_6ea6e6f48a0302e963a67833bbd0ff4a:
-
 DCAEPolicyRequest Model Structure
 ---------------------------------
 
@@ -1080,24 +1065,13 @@
     :widths: 20, 10, 15, 15, 30, 25
 
         catch_up | Yes | boolean |  |  | flag to indicate whether the request contains all the policies in PDP or not
-        errored_policies | No | :ref:`errored_policies <i_0e88fa72c5312eaae3990753181ce5fe>` |  |  | whether policy-engine returned an error on the policy.
-dictionary of (policy_id -> true).
-In example: replace additionalProp1,2,3 with policy_id1,2,3 values
-
+        errored_policies | No |  |  |  | whether policy-engine returned an error on the policy.
         errored_scopes | No | array of string |  |  | on cartchup - list of policy scope_prefix values on wchich the policy-engine experienced an error other than not-found data.
-
-        latest_policies | Yes | :ref:`latest_policies <i_cbc40bad95bddbd536eeab0a92f483af>` |  |  | dictionary of (policy_id -> DCAEPolicy object).
-In example: replace additionalProp1,2,3 with policy_id1,2,3 values
-
-        removed_policies | Yes | :ref:`removed_policies <i_0ce52a29e44aa0cc7929fe7b555551bc>` |  |  | whether policy was removed from policy-engine.
-dictionary of (policy_id -> true).
-In example: replace additionalProp1,2,3 with policy_id1,2,3 values
-
+        latest_policies | Yes | |  |  | dictionary of (policy_id -> DCAEPolicy object).
+        removed_policies | Yes | |  |  | whether policy was removed from policy-engine.
         scope_prefixes | No | array of string |  |  | on catchup - list of all scope_prefixes used by the policy-handler to retrieve the policies from policy-engine.
 
 
-.. _i_0e88fa72c5312eaae3990753181ce5fe:
-
 **Errored_policies schema:**
 
 
@@ -1108,8 +1082,6 @@
 
 Map of {"key":"boolean"}
 
-.. _i_cbc40bad95bddbd536eeab0a92f483af:
-
 **Latest_policies schema:**
 
 
@@ -1121,8 +1093,6 @@
 
 
 
-.. _i_0ce52a29e44aa0cc7929fe7b555551bc:
-
 **Removed_policies schema:**
 
 
diff --git a/docs/sections/apis/inventory.rst b/docs/sections/apis/inventory.rst
index edddff4..4dd0217 100644
--- a/docs/sections/apis/inventory.rst
+++ b/docs/sections/apis/inventory.rst
@@ -1502,7 +1502,6 @@
         dcaeServiceQueryLink | No | :ref:`Link <d_add3c3fd2e145f9e5a78be6e7b208ebb>` |  |  | Link.title is the DCAE service property value. Following this link will provide a list of DCAE services that all have this property value.
         propertyValue | No | string |  |  | 
 
-.. _d_81c18e0dd7a3af8fb1ba658e72907e7b:
 
 DCAEServiceRequest Model Structure
 ----------------------------------
@@ -1544,7 +1543,6 @@
         typeVersion | Yes | integer | int32 |  | Version number for this DCAE service type
         vnfTypes | No | array of string |  |  | 
 
-.. _d_57dc24aa38507ded2f27eec90206336e:
 
 DCAEServiceTypeRequest Model Structure
 --------------------------------------
diff --git a/docs/sections/apis/ves.rst b/docs/sections/apis/ves.rst
index d03cd51..9fb3db4 100644
--- a/docs/sections/apis/ves.rst
+++ b/docs/sections/apis/ves.rst
@@ -1053,7 +1053,6 @@
 
 
 
-.. _d_f598222d7a83ca9c3538556b263682d1:
 
 Body
 ^^^^
@@ -2001,7 +2000,6 @@
 Data Structures
 ~~~~~~~~~~~~~~~
 
-.. _d_8a94f348f7df00259702f8d9b7d2ea84:
 
 ApiResponseMessage Model Structure
 ----------------------------------
@@ -2015,7 +2013,6 @@
         message | No | string |  |  | 
         type | No | string |  |  | 
 
-.. _d_f598222d7a83ca9c3538556b263682d1:
 
 VES5Request Model Structure
 ---------------------------
@@ -2708,7 +2705,7 @@
     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
     :widths: 20, 10, 15, 15, 30, 25
 
-        additionalFields | No | string |  |  | additional syslog fields if needed provided as name=value delimited by a pipe | symbol, for example: 'name1=value1|name2=value2|'
+        additionalFields | No | string |  |  | additional syslog fields if needed provided as name=value 
         eventSourceHost | No | string |  |  | hostname of the device
         eventSourceType | Yes | string |  |  | type of event source; examples: other, router, switch, host, card, port, slotThreshold, portThreshold, virtualMachine, virtualNetworkFunction
         syslogFacility | No | integer |  |  | numeric code from 0 to 23 for facility--see table in documentation
diff --git a/docs/sections/architecture.rst b/docs/sections/architecture.rst
index c8ec573..c870b51 100644
--- a/docs/sections/architecture.rst
+++ b/docs/sections/architecture.rst
@@ -1,5 +1,7 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. http://creativecommons.org/licenses/by/4.0
+
+
 Architecture
 ============
 
@@ -7,7 +9,7 @@
 
 The design of DCAE separates DCAE Services from DCAE Platform so that the DCAE system is flexible, elastic, and expansive enough for supporting the potentially infinite number of ways of constructing intelligent and automated control loops on distributed and heterogeneous infrastructure. 
 
-DCAE Service components are the virtual functional entities that realize the collection and analysis needs of ONAP control loops.  They include the collectors for various data collection needs, the analytics that assess collected data, and various auxiliary microservices that assist data collection and analytics, and support other ONAP functions.  Service components and DMaaP buses form the "data plane" for ONAP, where DCAE collected data is transported among different DCAE service components.
+DCAE Service components are the virtual functional entities that realize the collection and analysis needs of ONAP control loops.  They include the collectors for various data collection needs, the analytics that assess collected data, and various auxiliary microservices that assist data collection and analytics, and support other ONAP functions.  Service components and DMaaP buses form the "data plane" for DCAE, where DCAE collected data is transported among different DCAE service components.
 
 On the other hand DCAE Platform components enable model driven deployment of service components and middleware infrastructures that service components depend upon, such as special storage and computation platforms.  That is, when triggered by an invocation call,  DCAE Platform follows the TOSCA model of the control loop that is specified by the triggering call, interacts with the underlying networking and computing infrastructure such as OpenSatck installations and Kubernetes clusters to deploy and configure the virtual apparatus (i.e. the collectors, the analytics, and auxiliary microservices) that are needed to form the control loop, at locations that are requested by the requirements of the control loop model.  DCAE Platform also provisions DMaaP topics and manages the distribution scopes of the topics following the prescription of the control loop model by interacting with controlling function of DMaaP.
 
diff --git a/docs/sections/blueprints/DockerHost.rst b/docs/sections/blueprints/DockerHost.rst
index a6f2133..1cbc758 100644
--- a/docs/sections/blueprints/DockerHost.rst
+++ b/docs/sections/blueprints/DockerHost.rst
@@ -19,5 +19,5 @@
 Cfy command for running the blueprint
 
 Additional Information
----------------------
+----------------------
 Any additional information that help other people understanding and using yor blueprint
diff --git a/docs/sections/blueprints/PGaaS.rst b/docs/sections/blueprints/PGaaS.rst
index 080e575..eedcfe5 100644
--- a/docs/sections/blueprints/PGaaS.rst
+++ b/docs/sections/blueprints/PGaaS.rst
@@ -1,12 +1,12 @@
 PostgreSQL as a Service
-============
+=======================
 
 PostgreSQL as a Service (PGaaS) comes in two flavors: all-in-one blueprint, and
 separate disk/cluster/database blueprints to separate the management of
 the lifetime of those constituent parts. Both are provided for use.
 
 Why Three Flavors?
-------------
+------------------
 
 The reason there are three flavors of blueprints lays in the difference in
 lifetime management of the constituent parts and the number of VMs created.
@@ -24,10 +24,10 @@
 of the applications that are writing to it or reading from it.
 
 Blueprint Files
-------------
+---------------
 
 The Blueprints for PG Services and Cinder
-^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 The all-in-one blueprint ``pgaas.yaml`` assumes that the PG servers and Cinder volumes can be allocated and
 deallocated together. The ``pgaas.yaml`` blueprint creates a cluster of two VMs named "``pstg``" by default. 
@@ -40,7 +40,7 @@
 redeployed without affecting the data on the Cinder volumes.
 
 The Blueprints for Databases
-^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 The ``pgaas-database.yaml`` blueprint shows how a database can be created separately from any application
 that uses it. That database will remain present until the pgaas-database.yaml blueprint is
@@ -56,7 +56,7 @@
 
 
 What is Created by the Blueprints
-^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Each PostgreSQL cluster has a name, represented below as ``${CLUSTER}`` or ``CLNAME``. Each cluster is created
 with two VMs, one VM used for the writable master and the other as a cascaded read-only secondary. 
@@ -84,7 +84,7 @@
 
 
 To install the PostgreSQL as a Service
-^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Installing the all-in-one blueprint is straightforward:
 
diff --git a/docs/sections/blueprints/cbs.rst b/docs/sections/blueprints/cbs.rst
index adb728e..74217cc 100644
--- a/docs/sections/blueprints/cbs.rst
+++ b/docs/sections/blueprints/cbs.rst
@@ -19,5 +19,5 @@
 Cfy command for running the blueprint
 
 Additional Information
----------------------
+----------------------
 Any additional information that help other people understanding and using yor blueprint
diff --git a/docs/sections/blueprints/cdap.rst b/docs/sections/blueprints/cdap.rst
index 9dd3bd8..cff2561 100644
--- a/docs/sections/blueprints/cdap.rst
+++ b/docs/sections/blueprints/cdap.rst
@@ -12,7 +12,7 @@
 will be the CDAP master.
 
 Blueprint Input Parameters
----------------------
+--------------------------
 
 This blueprint has the following required input parameters:
 
diff --git a/docs/sections/blueprints/cdapbroker.rst b/docs/sections/blueprints/cdapbroker.rst
index fcbce24..cf42fe5 100644
--- a/docs/sections/blueprints/cdapbroker.rst
+++ b/docs/sections/blueprints/cdapbroker.rst
@@ -19,5 +19,5 @@
 Cfy command for running the blueprint
 
 Additional Information
----------------------
+----------------------
 Any additional information that help other people understanding and using yor blueprint
diff --git a/docs/sections/blueprints/consul.rst b/docs/sections/blueprints/consul.rst
index 257b060..2d3ceed 100644
--- a/docs/sections/blueprints/consul.rst
+++ b/docs/sections/blueprints/consul.rst
@@ -19,5 +19,5 @@
 Cfy command for running the blueprint
 
 Additional Information
----------------------
+----------------------
 Any additional information that help other people understanding and using yor blueprint
diff --git a/docs/sections/blueprints/deploymenthandler.rst b/docs/sections/blueprints/deploymenthandler.rst
index 7ef5f42..763afbe 100644
--- a/docs/sections/blueprints/deploymenthandler.rst
+++ b/docs/sections/blueprints/deploymenthandler.rst
@@ -19,5 +19,5 @@
 Cfy command for running the blueprint
 
 Additional Information
----------------------
+----------------------
 Any additional information that help other people understanding and using yor blueprint
diff --git a/docs/sections/blueprints/holmes.rst b/docs/sections/blueprints/holmes.rst
index 28370d0..4d965c0 100644
--- a/docs/sections/blueprints/holmes.rst
+++ b/docs/sections/blueprints/holmes.rst
@@ -1,5 +1,5 @@
 Holmes Correlation Analytics
-======================
+============================
 
 Overview of my blueprint and the part it plays in DCAE.
 
@@ -19,5 +19,5 @@
 Cfy command for running the blueprint
 
 Additional Information
----------------------
+----------------------
 Any additional information that help other people understanding and using yor blueprint
diff --git a/docs/sections/blueprints/index.rst b/docs/sections/blueprints/index.rst
deleted file mode 100644
index ae267b7..0000000
--- a/docs/sections/blueprints/index.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-
-Data Collection, Analytics, and Events (DCAE) blueprints
-=======================
-
-.. toctree::
-   :maxdepth: 1
-
-   ./PGaaS.rst
diff --git a/docs/sections/blueprints/inventoryapi.rst b/docs/sections/blueprints/inventoryapi.rst
index 016ecce..cdbc164 100644
--- a/docs/sections/blueprints/inventoryapi.rst
+++ b/docs/sections/blueprints/inventoryapi.rst
@@ -19,5 +19,5 @@
 Cfy command for running the blueprint
 
 Additional Information
----------------------
+----------------------
 Any additional information that help other people understanding and using yor blueprint
diff --git a/docs/sections/blueprints/policyhandler.rst b/docs/sections/blueprints/policyhandler.rst
index b5557d0..79ac538 100644
--- a/docs/sections/blueprints/policyhandler.rst
+++ b/docs/sections/blueprints/policyhandler.rst
@@ -19,5 +19,5 @@
 Cfy command for running the blueprint
 
 Additional Information
----------------------
+----------------------
 Any additional information that help other people understanding and using yor blueprint
diff --git a/docs/sections/blueprints/servicechangehandler.rst b/docs/sections/blueprints/servicechangehandler.rst
index 1665727..e23a621 100644
--- a/docs/sections/blueprints/servicechangehandler.rst
+++ b/docs/sections/blueprints/servicechangehandler.rst
@@ -19,5 +19,5 @@
 Cfy command for running the blueprint
 
 Additional Information
----------------------
+----------------------
 Any additional information that help other people understanding and using yor blueprint
diff --git a/docs/sections/blueprints/tca.rst b/docs/sections/blueprints/tca.rst
index ac0cb55..2e09a20 100644
--- a/docs/sections/blueprints/tca.rst
+++ b/docs/sections/blueprints/tca.rst
@@ -1,5 +1,5 @@
 Threshold Crossing Analytics
-======================
+============================
 
 Overview of my blueprint and the part it plays in DCAE.
 
@@ -19,5 +19,5 @@
 Cfy command for running the blueprint
 
 Additional Information
----------------------
+----------------------
 Any additional information that help other people understanding and using yor blueprint
diff --git a/docs/sections/build.rst b/docs/sections/build.rst
index 0290b2b..007951c 100644
--- a/docs/sections/build.rst
+++ b/docs/sections/build.rst
@@ -1,18 +1,15 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. http://creativecommons.org/licenses/by/4.0
 
-Build
-=====
-
-Build
-=====
+Building DCAE
+=============
 
 
 Description
 -----------
 DCAE has multiple code repos and these repos are in several different languages.  All DCAE projects are built in similar fashion, following Maven framework as Maven projects.  Although many DCAE projects are not written in Java, adopting the Maven framework does help including DCAE projects in  the overall ONAP building methodology and CICD process.
 
-All DCAE projects use ONAP oparent project POM as ancestor.  That is, DCAE projects inherent all parameters defined in oparent project which include many ONAP wide configuration parameters such as the location of various artifact repos.
+All DCAE projects use ONAP **oparent** project POM as ancestor.  That is, DCAE projects inherent all parameters defined in the oparent project which include many ONAP wide configuration parameters such as the location of various artifact repos.
 
 A number of DCAE projects are not written Java.  For these projects we use the CodeHaus Maven Execution plugin for triggering a Bash script at various stages of Maven lifecycle. The script is  mvn-phase-script.sh, located at the root of each non-Java DACE project.  It is in this script that the actual build operation is performed at different Maven phases.  For example, for a Python project, Maven test will actually trigger a call to tox to conduct project unit tests.
 
@@ -41,8 +38,8 @@
 
 * dcaegen2.collectors
 
- - dcaegen2.collectors.snmptrap (Java)
- - dcaegen2.collectors.ves (Python)
+ - dcaegen2.collectors.snmptrap (Python)
+ - dcaegen2.collectors.ves (Java)
 
 * dcaegen2.deployments
 
@@ -58,9 +55,7 @@
  - check-blueprint-vs-input (yaml)
  - input-templates (yaml)
 
-* dcaegen2.platform.cdapbroker (Erlang)
-
-* dcaegen2.platform.cli
+* dcaegen2.platform.cli (Python)
 
  - component-json-schemas (yaml)
  - dcae-cli (Python)
diff --git a/docs/sections/components/component-development.rst b/docs/sections/components/component-development.rst
index 2877822..14a2d47 100644
--- a/docs/sections/components/component-development.rst
+++ b/docs/sections/components/component-development.rst
@@ -8,8 +8,11 @@
    :maxdepth: 1
 
    ./intro.rst
+   ./architecture/pieces.rst
+   ./architecture/service-discovery.rst
    ./requirements-guidelines.rst
    ./component-specification/component-specification.rst
+   ./component-json-schema.rst
    ./data-formats.rst
    ./dcae-cli/dcae-cli-tool.rst
    ./glossary.rst
diff --git a/docs/sections/components/component-specification/docker-specification.rst b/docs/sections/components/component-specification/docker-specification.rst
index 01e1153..7fb66e5 100755
--- a/docs/sections/components/component-specification/docker-specification.rst
+++ b/docs/sections/components/component-specification/docker-specification.rst
@@ -188,19 +188,20 @@
 
 The ``container`` object contains:
 
-+-----------------------+-----------------------+-----------------------+
-| Property Name         | Type                  | Description           |
-+=======================+=======================+=======================+
-| bind                  | string                | path to the container |
-|                       |                       | volume                |
-+-----------------------+-----------------------+-----------------------+
-| mode                  | string                | “ro” - indicates      |
-|                       |                       | read-only volume      |
-+-----------------------+-----------------------+-----------------------+
-|                       | “” - indicates that   |
-|                       | the contain can write |
-|                       | into the bind mount   |
-+-----------------------+-----------------------+-----------------------+
+
++-----------------------+-----------------------+-------------------------------+
+| Property Name         | Type                  | Description                   |
++=======================+=======================+===============================+
+| bind                  | string                | path to the container         |
+|                       |                       | volume                        |
++-----------------------+-----------------------+-------------------------------+
+| mode                  | string                | ro - indicates                |
+|                       |                       | read-only volume              |
++-----------------------+-----------------------+-------------------------------+
+|                       |                       | w - indicates that            |
+|                       |                       | the contain can write         |
+|                       |                       | into the bind mount           |
++-----------------------+-----------------------+-------------------------------+
 
 The ``host`` object contains:
 
@@ -263,22 +264,20 @@
 The docker script interface is as follows: \`/opt/app/reconfigure.sh
 $reconfigure_type {“updated policies”: , “application config”: }
 
-+--------------+--------------+----------------------------------------+
-| Name         | Type         | Description                            |
-+==============+==============+========================================+
-| reconfigure_ | string       | “policy”                               |
-| type         |              |                                        |
-+--------------+--------------+----------------------------------------+
-| updated_poli | json         | TBD                                    |
-| cies         |              |                                        |
-+--------------+--------------+----------------------------------------+
-| updated_appl | json         | complete generated app_config, not     |
-| _config      |              | fully-resolved, but ``policy-enabled`` |
-|              |              | parameters have been updated. In order |
-|              |              | to get the complete updated            |
-|              |              | app_config, the component would have   |
-|              |              | to call ``config-binding-service``.    |
-+--------------+--------------+----------------------------------------+
++---------------------+--------------+----------------------------------------+
+| Name                | Type         | Description                            |
++=====================+==============+========================================+
+| reconfigure_type    | string       | policy                                 |
++---------------------+--------------+----------------------------------------+
+| updated_policies    | json         | TBD                                    |
++---------------------+--------------+----------------------------------------+
+| updated_appl_config | json         | complete generated app_config, not     |
+|                     |              | fully-resolved, but ``policy-enabled`` |
+|                     |              | parameters have been updated. In order |
+|                     |              | to get the complete updated            |
+|                     |              | app_config, the component would have   |
+|                     |              | to call ``config-binding-service``.    |
++---------------------+--------------+----------------------------------------+
 
 Docker Component Spec - Complete Example
 ----------------------------------------
diff --git a/docs/sections/components/component-type-docker.rst b/docs/sections/components/component-type-docker.rst
index bb6a5a7..da83a78 100755
--- a/docs/sections/components/component-type-docker.rst
+++ b/docs/sections/components/component-type-docker.rst
@@ -12,8 +12,8 @@
 Component developers are required to provide artifacts for the platform
 to be able to deploy your component including:
 
--  :any:`Component specification <docker-specification>`
--  :any:`One or more Data Formats <data-formats>` \*unless they already exist
+-  `Component specification <docker-specification>`
+-  `One or more Data Formats <data-formats>` \*unless they already exist
 -  `Docker image <#docker-on-the-platform>`__
 
 In addition, components will have to be enhanced to be compliant with
@@ -402,22 +402,22 @@
 The platform provides a set of environment variables into each Docker
 container:
 
-+--------------+--------------+----------------------------------------+
-| Name         | Type         | Description                            |
-+==============+==============+========================================+
-| ``HOSTNAME`` | string       | Unique name of the component instance  |
-|              |              | that is generated                      |
-+--------------+--------------+----------------------------------------+
-| ``CONSUL_HOS | string       | Hostname of the platform’s Consul      |
-| T``          |              | instance                               |
-+--------------+--------------+----------------------------------------+
-| ``CONFIG_BIN | string       | Hostname of the platform’s config      |
-| DING_SERVICE |              | binding service instance               |
-| ``           |              |                                        |
-+--------------+--------------+----------------------------------------+
-| ``DOCKER_HOS | string       | Host of the target platform Docker     |
-| T``          |              | host to run the container on           |
-+--------------+--------------+----------------------------------------+
++----------------------------+--------------+----------------------------------------+
+| Name                       | Type         | Description                            |
++============================+==============+========================================+
+| ``HOSTNAME``               | string       | Unique name of the component instance  |
+|                            |              | that is generated                      |
++----------------------------+--------------+----------------------------------------+
+| ``CONSUL_HOST``            | string       | Hostname of the platform's Consul      |
+|                            |              | instance                               |
++----------------------------+--------------+----------------------------------------+
+| ``CONFIG_BINDING_SERVICE`` | string       | Hostname of the platform's config      |
+|                            |              | binding service instance               |
+|                            |              |                                        |
++----------------------------+--------------+----------------------------------------+
+| ``DOCKER_HOST``            | string       | Host of the target platform Docker     |
+|                            |              | host to run the container on           |
++----------------------------+--------------+----------------------------------------+
 
 Operational Concerns
 --------------------
diff --git a/docs/sections/components/dcae-cli/commands.rst b/docs/sections/components/dcae-cli/commands.rst
index d34ba43..4634472 100644
--- a/docs/sections/components/dcae-cli/commands.rst
+++ b/docs/sections/components/dcae-cli/commands.rst
@@ -18,29 +18,29 @@
 only ``published`` resources are displayed. To see ``staged`` resources,
 add the –expanded argument.
 
-+-----------------------------------------------+-----------------------+
-| Catalog Status                                | Meaning               |
-+===============================================+=======================+
-| staged                                        | resource has be added |
-|                                               | (and validated), but  |
-|                                               | is under development  |
-+-----------------------------------------------+-----------------------+
-| staged data_formats can only be referenced in |
-| their owners component specs                  |
-+-----------------------------------------------+-----------------------+
-| staged components can only be deployed by     |
-| their owners                                  |
-+-----------------------------------------------+-----------------------+
-| published                                     | resource has been     |
-|                                               | tested and can be     |
-|                                               | shared                |
-+-----------------------------------------------+-----------------------+
-| published data_formats can be used in         |
-| anyone’s component spec                       |
-+-----------------------------------------------+-----------------------+
-| published components and be deployed by       |
-| anyone                                        |
-+-----------------------------------------------+-----------------------+
++------------------------------+----------------------------------------+
+| Catalog Status               | Meaning                                |
++==============================+========================================+
+| staged                       | resource has be added                  |
+|                              | (and validated), but                   |
+|                              | is under development                   |
++------------------------------+----------------------------------------+
+| staged                       | data_formats can only be referenced in |
+|                              | their owners component specs           |
++------------------------------+----------------------------------------+
+| staged                       | components can only be deployed by     |
+|                              | their owners                           |
++------------------------------+----------------------------------------+
+| published                    | resource has been                      |
+|                              | tested and can be                      |
+|                              | shared                                 |
++------------------------------+----------------------------------------+
+|                              | published data_formats can be used in  |
+|                              | anyone's component spec                |
++------------------------------+----------------------------------------+
+|                              | published components and be deployed by|
+|                              | anyone                                 |
++------------------------------+----------------------------------------+
 
 ::
 
diff --git a/docs/sections/components/dcae-cli/walkthrough.rst b/docs/sections/components/dcae-cli/walkthrough.rst
index 559ba3a..56c9e28 100755
--- a/docs/sections/components/dcae-cli/walkthrough.rst
+++ b/docs/sections/components/dcae-cli/walkthrough.rst
@@ -267,21 +267,21 @@
 A docker component can be run in either ``attached`` or ``unattached``
 mode. (Default is unattached).
 
-+------------------+---------------------------------------------------+
-| Mode             | Description                                       |
-+==================+===================================================+
-| attached         | component is run in the ‘foreground’, container   |
-|                  | logs are streamed to stdout. Ctrl-C is used to    |
-|                  | terminate the dcae_cli session.                   |
-+------------------+---------------------------------------------------+
-| unattached       | component is run in the ‘background’, container   |
-|                  | logs are viewed via ``docker logs`` command,      |
-|                  | container runs until undeployed with dcae_cli     |
-|                  | ``undeploy`` command.                             |
-+------------------+---------------------------------------------------+
++------------------+-----------------------------------------------------------+
+| Mode             | Description                                               |
++==================+===========================================================+
+| attached         | component is run in the foreground, container             |
+|                  | logs are streamed to stdout. Ctrl-C is used to            |
+|                  | terminate the dcae_cli session.                           |
++------------------+-----------------------------------------------------------+
+| unattached       | component is run in the background container              |
+|                  | logs are viewed via ``docker logs`` command,              |
+|                  | container runs until undeployed with dcae_cli             |
+|                  | ``undeploy`` command.                                     |
++------------------+-----------------------------------------------------------+
 
 Run a component in attached mode:
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+---------------------------------
 
 ::
 
@@ -304,7 +304,7 @@
     DCAE.Docker | INFO | Stopping container 'user12.dbb13a3c-d870-487e-b584-89929b856b5c.0-7-0.sandbox-platform-yourapp' and cleaning up...
 
 Run a component in unattached mode:
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------------
 
 ::
 
@@ -317,14 +317,14 @@
 important to conserve resources in the environment.
 
 Run a component that subscribes to Dmaap Message Router or Data Router
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+----------------------------------------------------------------------
 
 ::
 
     $ dcae_cli -v component run $component-that-uses-dmamp --dmaap-file $dmaap-connection-object
 
 Run a component that expects input that is ``sourced at deployment``
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+--------------------------------------------------------------------
 
 ::
 
@@ -338,18 +338,9 @@
 Undeploy the component
 ----------------------
 
-+-----------------------------------------------------------------+
-| The ``undeploy`` command is used to undeploy any instance of a  |
-| specified component/version that you have deployed. This        |
-| includes cleaning up the configuration.                         |
-+-----------------------------------------------------------------+
-| Undeploy ``sandbox.platform.yourapp:0.7.0`` that was deployed     |
-| above:                                                          |
-+-----------------------------------------------------------------+
-| ``$ dcae_cli -v component undeploy sandbox.platform.yourapp:0.7.0 |
-|  DCAE.Undeploy | WARNING | Undeploying components: 1 DCAE.Undep |
-| loy | WARNING | Undeployed components: 1``                      |
-+-----------------------------------------------------------------+
+The ``undeploy`` command is used to undeploy any instance of a specified component/version that you have deployed. This includes cleaning up the configuration. 
+Undeploy ``sandbox.platform.yourapp:0.7.0`` that was deployed above: 
+``$ dcae_cli -v component undeploy sandbox.platform.yourapp:0.7.0 DCAE.Undeploy | WARNING | Undeploying components: 1 DCAE.Undeploy | WARNING | Undeployed components: 1`` 
 
 .. _dcae_cli_publish_the_component_and_data_format:
 
diff --git a/docs/sections/delivery.rst b/docs/sections/delivery.rst
deleted file mode 100644
index f3f083a..0000000
--- a/docs/sections/delivery.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Delivery
-========
-
-.. note::
-   * This section is used to describe a software component packaging.
-     For a run-time component this might be executable images, containers, etc.
-     For an SDK this might be libraries.
-
-   * This section is typically provided for a platform-component and sdk;
-     and referenced in developer and user guides
-   
-   * This note must be removed after content has been added.
-
-Example use of a block diagram.
-
-.. blockdiag::
-   
-
-   blockdiag layers {
-   orientation = portrait
-   a -> m;
-   b -> n;
-   c -> x;
-   m -> y;
-   m -> z;
-   group l1 {
-	color = blue;
-	x; y; z;
-	}
-   group l2 {
-	color = yellow;
-	m; n; 
-	}
-   group l3 {
-	color = orange;
-	a; b; c;
-	}
-
-   }
-
-
diff --git a/docs/sections/design.rst b/docs/sections/design.rst
deleted file mode 100644
index f173a2f..0000000
--- a/docs/sections/design.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Design
-======
-
-.. note::
-   * This section is used to describe the internal design structure of a software component.
-
-   * This section is typically provided: for a platform-component and sdk; and
-     referenced in developer guides.
-
-   * This note must be removed after content has been added.
diff --git a/docs/sections/humaninsterfaces.rst b/docs/sections/humaninterfaces.rst
similarity index 100%
rename from docs/sections/humaninsterfaces.rst
rename to docs/sections/humaninterfaces.rst
diff --git a/docs/sections/installation_heat.rst b/docs/sections/installation_heat.rst
index 2653d63..07d2b01 100644
--- a/docs/sections/installation_heat.rst
+++ b/docs/sections/installation_heat.rst
@@ -19,23 +19,26 @@
 * A virtual router interconnecting the private OAM network with the external network of the OpenStack installation.
 * A key-pair named onap_key_{{RAND}}.
 * A security group named onap_sg_{{RAND}}.
-* A list of VMs for ONAP components. Each VM has one NIC connected to the OAM network and assigned a fixed IP. Each VM is also assigned a floating IP address from the external network. The VM hostnames are name consistently across different ONAP deployments, a user defined prefix, denoted as {{PREFIX}}, followed by a descriptive string for the ONAP component this VM runs, and optionally followed by a sub-function name.  In the parameter env file supplied when running the Heat template, the {{PREFIX}} is defined by the **vm_base_name** parameter.  The VMs of the same ONAP role across different ONAP deployments will always have the same OAM network IP address. For example, the Message Router will always have the OAM network IP address of 10.0.11.1.  The list below provides the IP addresses and hostnames for ONAP components
-that are relevant to DCAE.
+* A list of VMs for ONAP components. Each VM has one NIC connected to the OAM network and assigned a fixed IP. Each VM is also assigned a floating IP address from the external network. The VM hostnames are name consistently across different ONAP deployments, a user defined prefix, denoted as {{PREFIX}}, followed by a descriptive string for the ONAP component this VM runs, and optionally followed by a sub-function name.  In the parameter env file supplied when running the Heat template, the {{PREFIX}} is defined by the **vm_base_name** parameter.  The VMs of the same ONAP role across different ONAP deployments will always have the same OAM network IP address. For example, the Message Router will always have the OAM network IP address of 10.0.11.1.  
 
-    ==============     ==========================    ==========================
-    ONAP Role          VM (Neutron) hostname          OAM IP address(s)
-    ==============     ==========================    ==========================
-    A&AI               {{PREFIX}}-aai-inst1          10.0.1.1
-    SDC                {{PREFIX}}-sdc                10.0.3.1
-    DCAE               {{PREFIX}}-dcae               10.0.4.1
-    Policy             {{PREFIX}}-policy             10.0.6.1
-    SD&C               {{PREFIX}}-sdnc               10.0.7.1
-    Robot TF           {{PREFIX}}-robot              10.0.10.1
-    Message Router     {{PREFIX}}-message-router     10.0.11.1
-    CLAMP              {{PREFIX}}-clamp              10.0.12.1
-    Private DNS        {{PREFIX}}-dns-server         10.0.100.1
-    ==============     ==========================    ==========================
-* Each of the above VMs will also be associated with a floating IP address from the external network.
+
+The list below provides the IP addresses and hostnames for ONAP components that are relevant to DCAE.
+
+==============     ==========================    ==========================
+ONAP Role          VM (Neutron) hostname          OAM IP address(s)
+==============     ==========================    ==========================
+A&AI               {{PREFIX}}-aai-inst1          10.0.1.1
+SDC                {{PREFIX}}-sdc                10.0.3.1
+DCAE               {{PREFIX}}-dcae               10.0.4.1
+Policy             {{PREFIX}}-policy             10.0.6.1
+SD&C               {{PREFIX}}-sdnc               10.0.7.1
+Robot TF           {{PREFIX}}-robot              10.0.10.1
+Message Router     {{PREFIX}}-message-router     10.0.11.1
+CLAMP              {{PREFIX}}-clamp              10.0.12.1
+Private DNS        {{PREFIX}}-dns-server         10.0.100.1
+==============     ==========================    ==========================
+
+(Each of the above VMs will also be associated with a floating IP address from the external network.)
 
 
 DCAE Deployment
diff --git a/docs/sections/installation_manual.rst b/docs/sections/installation_manual.rst
deleted file mode 100644
index 91e8ad7..0000000
--- a/docs/sections/installation_manual.rst
+++ /dev/null
@@ -1,351 +0,0 @@
-DCAE Installation
-=================
-
-The below steps covers manual setup of DCAE VM’s and DCAE service
-components.
-
-VESCollector
-------------
-
- 
-
-DCAE VES Collector can be configured on VM with ubuntu-16.04 image
-(m1.small should suffice if this is only service) and 20Gb cinder
-storage
-
-1. Install docker
-
-.. code-block:: bash
-
-   sudo apt-get update
-   sudo apt install docker.io
-
-2. Pull the latest container from onap nexus
-
-.. code-block:: bash
-
-   sudo docker login -u docker -p docker nexus.onap.org:10001
-
-   sudo docker pull nexus.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:v1.1.0
-
-3. Start the VESCollector with below command
-
-.. code-block:: bash
-
-   sudo docker run -d --name vescollector -p 8080:8080/tcp -p
-   8443:8443/tcp -P -e DMAAPHOST='<dmaap IP>'
-   nexus.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:v1.1.0
-
-.. Note:  Change the dmaaphost to required DMAAP ip. To change the
-   dmaap information for a running container,  stop the active
-   container and rerun above command changing the dmaap IP.
-
-4. Verification
-
-i.  Check logs under container /opt/app/VESCollector/logs/collector.log
-        for errors
-
-ii. If no active feed, you can simulate an event into collector via curl
-
-.. code-block:: bash
-
-   curl -i  -X POST -d @<sampleves> --header "Content-Type:application/json" -k http://localhost:8080/eventListener/v5
-
-.. Note: If DMAAPHOST provided is invalid, you will see exception
-   around publish on the collector.logs (collector queues and attempts
-   to resend the event hence exceptions reported will be periodic). 
-
-i. Below two topic configuration are pre-set into this container.  When
-       valid DMAAP instance ip was provided and VES events are received,
-       the collector will post to below topics.
-
-    Fault -
-     http://<dmaaphost>:3904/events/unauthenticated.SEC\_FAULT\_OUTPUT
-
-    Measurement
-    -http://<dmaaphost>:3904/events/unauthenticated.SEC\_MEASUREMENT\_OUTPUT
-
-VM Init
-~~~~~~~
-
-To address windriver server in-stability, the below **init.sh** script
-was used to start the container on VM restart.  
-
-.. code-block:: bash
-
-   #!/bin/sh
-   sudo docker ps | grep “vescollector”
-   if [ $? -ne 0 ]; then
-          sudo docker login -u docker -p docker nexus.onap.org:10001
-          sudo docker pull nexus.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.1
-          sudo docker rm -f vescollector
-          echo “Collector process not running - $(date)” >> /home/ubuntu/startuplog
-          sudo docker run -d –name vescollector -p 8080:8080/tcp -p 8443:8443/tcp -P -e DMAAPHOST=‘10.12.25.96’ nexus.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.1
-   else
-          echo “Collector process running - $(date)” >> /home/ubuntu/startuplog
-   fi
-
-
-This script was invoked via VM init script (rc.d).
-
-.. code-block:: bash
-
-   ln -s /home/ubuntu/init.sh /etc/init.d/init.sh
-   sudo  update-rc.d init.sh start 2
-
- 
-
-ThresholdCrossingAnalysis (TCA/CDAP)
-------------------------------------
-
-The platform deploys CDAP as cluster and instantiates TCA. For the
-manual setup, we will leverage the CDAP SDK docker container to deploy
-TCA instances.  To setup TCA, choose VM with ubuntu-16.04 image,
-m1.medium size and 50gb cinder volumes.
-
-1. Install docker
-
-.. code-block:: bash
-
-   sudo apt-get update
-   sudo apt install docker.io
-
-2. Pull CDAP SDK container
-
-.. code-block:: bash
-
-   sudo docker pull caskdata/cdap-standalone:4.1.2
-
-3. Deploy and run the CDAP container
-
-.. code-block:: bash
-
-   sudo docker run -d --name cdap-sdk-2 -p 11011:11011 -p 11015:11015
-   caskdata/cdap-standalone:4.1.2
-
-4. Create Namespace on CDAP application
-
-.. code-block:: bash
-
-   curl -X PUT http://localhost:11015/v3/namespaces/cdap_tca_hi_lo
-
-5. Create TCA app config file - "tca\_app\_config.json" under ~ubuntu as below
-
-.. code-block:: json
-
- {
-   "artifact": {
-     "name": "dcae-analytics-cdap-tca",
-     "version": "2.0.0",
-     "scope": "user"
-   },
-
-   "config": {
-     "appName": "dcae-tca",
-     "appDescription": "DCAE Analytics Threshold Crossing Alert Application",
-     "tcaVESMessageStatusTableName": "TCAVESMessageStatusTable",
-     "tcaVESMessageStatusTableTTLSeconds": 86400.0,
-     "tcaAlertsAbatementTableName": "TCAAlertsAbatementTable",
-     "tcaAlertsAbatementTableTTLSeconds": 1728000.0,
-     "tcaVESAlertsTableName": "TCAVESAlertsTable",
-     "tcaVESAlertsTableTTLSeconds": 1728000.0,
-     "thresholdCalculatorFlowletInstances": 2.0,
-     "tcaSubscriberOutputStreamName": "TCASubscriberOutputStream"
-   }
- }
-
-
-6. Create TCA app preference file under ~ubuntu as below
-
-.. code-block:: json
-
- {
-  "publisherContentType" : "application/json",
-  "publisherHostName" : "10.12.25.96",
-  "publisherHostPort" : "3904",
-  "publisherMaxBatchSize" : "1",
-  "publisherMaxRecoveryQueueSize" : "100000",
-  "publisherPollingInterval" : "20000",
-  "publisherProtocol" : "http",
-  "publisherTopicName" : "unauthenticated.DCAE_CL_OUTPUT",
-  "subscriberConsumerGroup" : "OpenDCAE-c1",
-  "subscriberConsumerId" : "c1",
-  "subscriberContentType" : "application/json",
-  "subscriberHostName" : "10.12.25.96",
-  "subscriberHostPort" : "3904",
-  "subscriberMessageLimit" : "-1",
-  "subscriberPollingInterval" : "20000",
-  "subscriberProtocol" : "http",
-  "subscriberTimeoutMS" : "-1",
-  "subscriberTopicName" : "unauthenticated.SEC_MEASUREMENT_OUTPUT",
-  "enableAAIEnrichment" : false,
-  "aaiEnrichmentHost" : "10.12.25.72",
-  "aaiEnrichmentPortNumber" : 8443,
-  "aaiEnrichmentProtocol" : "https",
-  "aaiEnrichmentUserName" : "DCAE",
-  "aaiEnrichmentUserPassword" : "DCAE",
-  "aaiEnrichmentIgnoreSSLCertificateErrors" : false,
-  "aaiVNFEnrichmentAPIPath" : "/aai/v11/network/generic-vnfs/generic-vnf",
-  "aaiVMEnrichmentAPIPath" :  "/aai/v11/search/nodes-query",
-  "tca_policy" : "{
-        \"domain\": \"measurementsForVfScaling\",
-        \"metricsPerEventName\": [{
-                \"eventName\": \"vFirewallBroadcastPackets\",
-                \"controlLoopSchemaType\": \"VNF\",
-                \"policyScope\": \"DCAE\",
-                \"policyName\": \"DCAE.Config_tca-hi-lo\",
-                \"policyVersion\": \"v0.0.1\",
-                \"thresholds\": [{
-                        \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",
-                        \"version\": \"1.0.2\",
-                        \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\",
-                        \"thresholdValue\": 300,
-                        \"direction\": \"LESS_OR_EQUAL\",
-                        \"severity\": \"MAJOR\",
-                        \"closedLoopEventStatus\": \"ONSET\"
-                }, {
-                        \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",
-                        \"version\": \"1.0.2\",
-                        \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\",
-                        \"thresholdValue\": 700,
-                        \"direction\": \"GREATER_OR_EQUAL\",
-                        \"severity\": \"CRITICAL\",
-                        \"closedLoopEventStatus\": \"ONSET\"
-                }]
-        }, {
-                \"eventName\": \"vLoadBalancer\",
-                \"controlLoopSchemaType\": \"VM\",
-                \"policyScope\": \"DCAE\",
-                \"policyName\": \"DCAE.Config_tca-hi-lo\",
-                \"policyVersion\": \"v0.0.1\",
-                \"thresholds\": [{
-                        \"closedLoopControlName\": \"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",
-                        \"version\": \"1.0.2\",
-                        \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\",
-                        \"thresholdValue\": 300,
-                        \"direction\": \"GREATER_OR_EQUAL\",
-                        \"severity\": \"CRITICAL\",
-                        \"closedLoopEventStatus\": \"ONSET\"
-                }]
-        }, {
-                \"eventName\": \"Measurement_vGMUX\",
-                \"controlLoopSchemaType\": \"VNF\",
-                \"policyScope\": \"DCAE\",
-                \"policyName\": \"DCAE.Config_tca-hi-lo\",
-                \"policyVersion\": \"v0.0.1\",
-                \"thresholds\": [{
-                        \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",
-                        \"version\": \"1.0.2\",
-                        \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",
-                        \"thresholdValue\": 0,
-                        \"direction\": \"EQUAL\",
-                        \"severity\": \"MAJOR\",
-                        \"closedLoopEventStatus\": \"ABATED\"
-                }, {
-                        \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",
-                        \"version\": \"1.0.2\",
-                        \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",
-                        \"thresholdValue\": 0,
-                        \"direction\": \"GREATER\",
-                        \"severity\": \"CRITICAL\",
-                       \"closedLoopEventStatus\": \"ONSET\"
-                }]
-        }]
- }"
- }
-
-
-.. Note: Dmaap configuration are specified on this file on
-   publisherHostName and subscriberHostName. To be changed as
-   required\*\*
-
-6a. To enable AAI Enrichment in TCA for CL event, following updates should be done to TCA app preference file before proceeding
-
-.. code-block:: json
-
-          "enableAAIEnrichment" :  true
-          "aaiEnrichmentHost" :  <should be set to aai1_ip_addr>
-          "aaiEnrichmentIgnoreSSLCertificateErrors" : true
-
-
-
-7. Copy below script to CDAP server (this gets latest image from nexus and deploys TCA application) and execute it
-
-.. code-block:: bash
-
- #!/bin/sh
- TCA_JAR=dcae-analytics-cdap-tca-2.0.0.jar
- rm -f /home/ubuntu/$TCA_JAR
- cd /home/ubuntu/
- wget https://nexus.onap.org/service/local/repositories/releases/content/org/onap/dcaegen2/analytics/tca/dcae-analytics-cdap-tca/2.0.0/$TCA_JAR
- if [ $? -eq 0 ]; then
-        if [ -f /home/ubuntu/$TCA_JAR ]; then
-                echo “Restarting TCA CDAP application using $TCA_JAR artifact”
-        else
-                echo “ERROR: $TCA_JAR missing”
-                exit 1
-        fi
- else
-        echo “ERROR: $TCA_JAR not found in nexus”
-        exit 1
- fi
- # stop programs
- curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRPublisherWorker/stop
- curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRSubscriberWorker/stop
- curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/flows/TCAVESCollectorFlow/stop
- # delete application
- curl -X DELETE http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca
- # delete artifact
- curl -X DELETE http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/artifacts/dcae-analytics-cdap-tca/versions/2.0.0
- # load artifact
- curl -X POST –data-binary @/home/ubuntu/$TCA_JAR http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/artifacts/dcae-analytics-cdap-tca
- # create app
- curl -X PUT -d @/home/ubuntu/tca_app_config.json http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca
- # load preferences
- curl -X PUT -d @/home/ubuntu/tca_app_preferences.json http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/preferences
- # start programs
- curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRPublisherWorker/start
- curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRSubscriberWorker/start
- curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/flows/TCAVESCollectorFlow/start
- echo
- # get status of programs
- curl http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRPublisherWorker/status
- curl http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRSubscriberWorker/status
- curl http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/flows/TCAVESCollectorFlow/status
- echo
-
-
-8. Verify TCA application and logs via CDAP GUI processes
-
-    The overall flow can be checked here
-
-TCA Configuration Change
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Typical configuration changes include changing DMAAP host and/or Policy configuration. If necessary, modify the file on step #6 and run the script noted as step #7 to redeploy TCA with updated configuration.
-
-VM Init
-~~~~~~~
-
-To address windriver server in-stability, the below **init.sh** script
-was used to restart the container on VM restart.  This script was
-invoked via VM init script (rc.d).
-
-.. code-block:: bash
-
-   #!/bin/sh
-   #docker run -d –name cdap-sdk -p 11011:11011 -p 11015:11015 caskdata/cdap-standalone:4.1.2
-   sudo docker restart cdap-sdk-2
-   sleep 30
-   # start program
-   curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRPublisherWorker/start
-   curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRSubscriberWorker/start
-   curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/flows/TCAVESCollectorFlow/start
-
-
-This script was invoked via VM init script (rc.d).
-
-.. code-block:: bash
-
-   ln -s /home/ubuntu/init.sh /etc/init.d/init.sh
-   sudo  update-rc.d init.sh start 2
diff --git a/docs/sections/offeredapis.rst b/docs/sections/offeredapis.rst
index 20e2f6c..ace3cda 100644
--- a/docs/sections/offeredapis.rst
+++ b/docs/sections/offeredapis.rst
@@ -1,12 +1,14 @@
 DCAEGEN2 Components Offered APIs
-==================================
+================================
 
 .. toctree::
    :maxdepth: 1
    :titlesonly:
 
-   apis/cdapbroker.rst
-   apis/config_binding.rst
-   apis/deploymenthandler.rst
-   apis/inventory_api.rst
+   apis/configbinding.rst
+   apis/deployment-handler.rst
+   apis/inventory.rst
    apis/ves.rst
+   apis/dcaecdap.rst
+
+
diff --git a/docs/sections/release-notes.rst b/docs/sections/release-notes.rst
index dadfbaa..823ec18 100644
--- a/docs/sections/release-notes.rst
+++ b/docs/sections/release-notes.rst
@@ -31,13 +31,14 @@
         - Postgres Database
         - Redis Cluster Database
         - Consul Cluster
+
     Notes:
         \*  These components are delivered by the Holmes project and used as a DCAE analytics component in R2.
 
-- DCAE R2 supports both OpenStack Heat Orchestration Template based deployment and Helm Chart based deployment. 
+- DCAE R2 supports both OpenStack Heat Orchestration Template based deployment and OOM (Kubernetes) based deployment. 
 
     - Under Heat based deployment all DCAE component containers are deployed onto a single Docker host VM that is launched from an OpenStack Heat Orchestration Template as part of "stack creation".
-    - Under Helm/Kubernetes deployment all DCAE component containers are deployed as Kubernetes Pods/Deployments/Services into Kubernetes cluster.
+    - Under OOM (Kubernetes) deployment all DCAE component containers are deployed as Kubernetes Pods/Deployments/Services into Kubernetes cluster.
 
 - DCAE R2 includes a new Cloudify Manager plugin (k8splugin) that is capable of expanding a Blueprint node specification written for Docker container to a full Kubernetes specification, with additional enhancements such as replica scaling, sidecar for logging to ONAP ELK stack, registering services to MSB, etc. 
 
@@ -95,7 +96,7 @@
        - Description: R2 DCAE's Cloudify Manager container is based on Cloudify Manager Community Version 18.2.28, which is based on Cloudify Manager 4.3.
     - Bootstrap container: 
        - Docker container tag: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.1.11
-       - Description: R2 DCAE no longer uses bootstrap container for Heat based deployment, -- deployment is done through cloud-init scripts and docker-compose specifications.  The bootstrap is for Helm/Kubernetes based deployment.
+       - Description: R2 DCAE no longer uses bootstrap container for Heat based deployment, -- deployment is done through cloud-init scripts and docker-compose specifications.  The bootstrap is for OOM (Kubernetes) based deployment.
     - Configuration Binding Service: 
        - Docker container tag: onap/org.onap.dcaegen2.platform.configbinding:2.1.5
        - Description: Configuration Binding Sevice now supports the new configuration policy format.
@@ -196,11 +197,9 @@
 
 **Security Issues**
 
-- The DCAE Bootstrap container needs to have a secret key for accessing VMs that it launches.
-This key is currently passed in as a Heat template parameter.  Tracked by JIRA DCAEGEN2-178.
-- The RESTful API calls are generally not secure.  That is, they are either over http, or https
-without certificate verification.  Once there is an ONAP wide solution for handling certificates,
-DCAE will switch to https.
+- The DCAE Bootstrap container needs to have a secret key for accessing VMs that it launches.  This key is currently passed in as a Heat template parameter.  Tracked by JIRA DCAEGEN2-178.
+- The RESTful API calls are generally not secure.  That is, they are either over http, or https without certificate verification.  Once there is an ONAP wide solution for handling certificates, DCAE will switch to https.
+
 
 **Upgrade Notes**
 
