diff --git a/docs/api-docs.rst b/docs/api-docs.rst
index 77bbd0d..ef234a5 100644
--- a/docs/api-docs.rst
+++ b/docs/api-docs.rst
@@ -15,61 +15,72 @@
 API-Docs
 ========
 
-This is the API-docs of Non-RT RIC.
+Here we describe the APIs to access the Non-RT RIC functions.
 
-The Non-RT RIC consists of three parts, described in the sections below:
- * The A1 Policy Management Service
- * The Enrichment Coordinator Service
- * The rAPP Catalogue
+The core Non-RT RIC consists of several parts, with available APIs described in the sections below:
 
+* The A1 Policy Management Service
+* The Enrichment Coordinator Service
+* The Non-RT-RIC App Catalogue
+* K8S Helm Chart LCM Manager (Initial) **<ToDo>**
 
 A1 Policy Management Service
 ============================
 
-For information about the A1 Policy Management Service that is implemented in ONAP, see `readthedocs`_ and `wiki`_.
-
-.. _readthedocs: https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/index.html
-.. _wiki: https://wiki.onap.org/pages/viewpage.action?pageId=84644984
+For information about the A1 Policy Management Service that is implemented in ONAP, see `ONAP docs <https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/index.html>`_ and `wiki <https://wiki.onap.org/pages/viewpage.action?pageId=84672221>`_.
 
 Enrichment Coordinator Service
 ==============================
 
-See `ECS API <./ecs-api.html>`_ for how to use the API.
+See `A1 Enrichment Information Coordination Service API <./ecs-api.html>`_ for full details of the API.
+
+The API is also described in Swagger-JSON and YAML:
 
 .. csv-table::
    :header: "API name", "|swagger-icon|", "|yaml-icon|"
    :widths: 10,5,5
 
-   "ECS API", ":download:`link <../enrichment-coordinator-service/api/ecs-api.json>`", ":download:`link <../enrichment-coordinator-service/api/ecs-api.yaml>`"
+   "A1 Enrichment Information Coordination Service API", ":download:`link <../enrichment-coordinator-service/api/ecs-api.json>`", ":download:`link <../enrichment-coordinator-service/api/ecs-api.yaml>`"
 
+Non-RT-RIC App Catalogue (Initial)
+==================================
 
-Service Catalogue
-=================
+The Service Catalogue provides a way for services to register themselves for other services to discover.
 
-The Non RT-RIC Service Catalogue provides a way for services to register themselves for other services to discover.
+See `Service Catalogue API <./rac-api.html>`_ for full details of the API.
 
-See `SC API <./rac-api.html>`_ for how to use the API.
+The API is also described in Swagger-JSON and YAML:
 
 
 .. csv-table::
    :header: "API name", "|swagger-icon|", "|yaml-icon|"
    :widths: 10,5, 5
 
-   "SC API", ":download:`link <../r-app-catalogue/api/rac-api.json>`", ":download:`link <../r-app-catalogue/api/rac-api.yaml>`"
+   "Service Catalogue API", ":download:`link <../r-app-catalogue/api/rac-api.json>`", ":download:`link <../r-app-catalogue/api/rac-api.yaml>`"
 
-Complementary tools
-===================
+K8S Helm Chart LCM Manager (Initial)
+====================================
 
-There are two additional tools that can be used together with the Non-RT RIC, namely the Control Panel and the Near-RT RIC simulator.
+**<ToDo>**
+
+See Also: Non-RT RIC Control Panel
+==================================
 
 The Non-RT RIC Control Panel provides a user interface that allows the user to interact with the Non-RT RIC.
-Documentation for the Control Panel can be found here:
-:doc:`Non-RT RIC Control Panel <nonrtric-controlpanel:index>`.
+
+Documentation for the Control Panel can be found here: `Non-RT RIC Control Panel <https://docs.o-ran-sc.org/projects/o-ran-sc-portal-nonrtric-controlpanel/en/latest/>`_.
+
 It can be downloaded from here: ::
 
   git clone "https://gerrit.o-ran-sc.org/r/portal/nonrtric-controlpanel".
 
-The Near-RT RIC simulator simulates an A1 protocol termination endpoint. Documentation for the simulator can be found
-here: :doc:`A1 Interface Simulator <sim-a1-interface:index>`. It can be downloaded from here: ::
+See Also: A1 / Near-RT RIC simulator
+====================================
+
+The Near-RT RIC simulator simulates an A1 protocol termination endpoint.
+
+Documentation for the simulator can be found here: `A1 Interface Simulator <https://docs.o-ran-sc.org/projects/o-ran-sc-sim-a1-interface/en/latest/>`_.
+
+It can be downloaded from here: ::
 
   git clone "https://gerrit.o-ran-sc.org/r/sim/a1-interface"
diff --git a/docs/developer-guide.rst b/docs/developer-guide.rst
index 93182d3..6f151cd 100644
--- a/docs/developer-guide.rst
+++ b/docs/developer-guide.rst
@@ -5,15 +5,12 @@
 Developer Guide
 ===============
 
-This document provides a quickstart for developers of the Non-RT RIC.
+Additional developer guides are available on the `O-RAN SC NONRTRIC Developer wiki <https://wiki.o-ran-sc.org/display/RICNR/Release+D>`_
 
-A1 Policy Management Service
-----------------------------
+A1 Policy Management Service & SDNC/A1 Controller & A1 Adapter
+--------------------------------------------------------------
 
-The Policy Management is implemented in ONAP. For documentation see `readthedocs`_ and `wiki`_.
-
-.. _readthedocs: https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/index.html
-.. _wiki: https://wiki.onap.org/pages/viewpage.action?pageId=84644984
+The A1 Policy Management Service is implemented in ONAP. For documentation see `ONAP CCSDK documentation <https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/index.html>`_ and `wiki <https://wiki.onap.org/pages/viewpage.action?pageId=84672221>`_.
 
 Enrichment Coordinator Service
 ------------------------------
@@ -23,17 +20,15 @@
 Its main functionality is to act as a data subscription broker and to decouple data 
 producer from data consumers.
 
-See the ./config/README file on how to create and setup the cerificates and private keys needed for HTTPS. 
+See the ./config/README file in the *enrichment-coordinator-service* directory Gerrit repo on how to create and setup the certificates and private keys needed for HTTPS. 
 
+Initial Non-RT-RIC App Catalogue
+--------------------------------
 
-rAPP Catalogue
---------------
+See the README.md file in the *r-app-catalogue* directory in the Gerrit repo for more details how to run the component.
 
-See the README.md file in the r-app-catalogue folder for how to run the component.
+Kubernetes deployment
+=====================
 
-End-to-end call
----------------
-
-In order to make a complete end-to-end call, follow the instructions given in this `guide`_.
-
-.. _guide: https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=12157166
+Non-RT RIC can be also deployed in a Kubernetes cluster, `it/dep repository <https://gerrit.o-ran-sc.org/r/admin/repos/it/dep>`_ hosts deployment and integration artifacts. Instructions and helm charts to deploy the Non-RT-RIC functions in the OSC NONRTRIC integrated test environment can be found in the *./nonrtric* directory.
+For more information see `Integration and Testing documentation on the O-RAN-SC wiki <https://docs.o-ran-sc.org/projects/o-ran-sc-it-dep/en/latest/index.html>`_
\ No newline at end of file
diff --git a/docs/images/healtcheck.png b/docs/images/healthcheck.png
similarity index 100%
rename from docs/images/healtcheck.png
rename to docs/images/healthcheck.png
Binary files differ
diff --git a/docs/images/nonrtric-architecture-D.png b/docs/images/nonrtric-architecture-D.png
new file mode 100644
index 0000000..98ec00f
--- /dev/null
+++ b/docs/images/nonrtric-architecture-D.png
Binary files differ
diff --git a/docs/images/nonrtric-architecture-cherry-v2.png b/docs/images/nonrtric-architecture-cherry-v2.png
new file mode 100644
index 0000000..4e04875
--- /dev/null
+++ b/docs/images/nonrtric-architecture-cherry-v2.png
Binary files differ
diff --git a/docs/index.rst b/docs/index.rst
index a32323d..708344b 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -13,6 +13,7 @@
    ./developer-guide.rst
    ./api-docs.rst
    ./use-cases.rst
+   ./requirements.rst
    ./release-notes.rst
 
 * :ref:`search`
diff --git a/docs/overview.rst b/docs/overview.rst
index 7f4d582..f74e91f 100644
--- a/docs/overview.rst
+++ b/docs/overview.rst
@@ -2,31 +2,173 @@
 .. SPDX-License-Identifier: CC-BY-4.0
 .. Copyright (C) 2020 Nordix
 
-Requirements for the Non-RT RIC project
-=======================================
+.. |archpic| image:: ./images/nonrtric-architecture-D.png
+  :alt: Image: O-RAN SC - NONRTRIC Overall Architecture
 
-Find detailed description of what Non-RT RIC is on this `page`_.
+Summary
+-------
 
-.. _page: https://wiki.o-ran-sc.org/display/RICNR/
+The Non-RealTime RIC (RAN Intelligent Controller) is an Orchestration and Automation function described by the O-RAN Alliance for non-real-time intelligent management of RAN (Radio Access Network) functions. The primary goal of the Non-RealTime RIC is to support non-real-time radio resource management, higher layer procedure optimization, policy optimization in RAN, and providing guidance, parameters, policies and AI/ML models to support the operation of near-RealTime RIC functions in the RAN to achieve higher-level non-real-time objectives. NONRTRIC functions include service and policy management, RAN analytics and model-training for the near-RealTime RICs. The NONRTRIC project provides concepts, specifications, architecture and reference implementations as defined and described by the `O-RAN Alliance <https://www.o-ran.org>`_ architecture.
 
-There are functional requirements emitted by O-RAN WG2 for the Non-RT RIC, which are the following:
+The O-RAN-SC NONRTRIC implementation communicates with near-RealTime RIC elements in the RAN via the A1 interface. Using the A1 interface the NONRTRIC will facilitate the provision of policies for individual UEs or groups of UEs; monitor and provide basic feedback on policy state from near-RealTime RICs; provide enrichment information as required by near-RealTime RICs; and facilitate ML model training, distribution and inference in cooperation with the near-RealTime RICs.
 
-#. Non-RT RIC shall support data retrieval and analysis; the data may include performance, configuration or other data related to the application (recommended data shown in required data section for  different use cases).
-#. Non-RT RIC shall support relevant AI/ML model training based on the data in 1. for non-real-time optimization of configuration parameters in RAN or Near-RT RIC, as applicable for the use case.
-#. Non-RT RIC shall support relevant AI/ML model training based on the data in 1. for generating/optimizing policies and intents to guide the behavior of applications in Near-RT RIC or RAN, as applicable for the use case.
-#. Non-RT RIC shall support training of relevant AI/ML models based on the data in 1. to be deployed/updated in Near-RT RIC as required by the applications.
-#. Non-RT RIC shall support performance monitoring and evaluation.
-#. Non-RT RIC shall support a fallback mechanism to prevent drastic degradation/fluctuation of performance, e.g. to restore to the previous policy or configuration.
+|archpic|
 
-The non-functional requirements are the following ones:
+Find detailed description of the NONRTRIC project see the `O-RAN SC NONRTRIC Project Wiki <https://wiki.o-ran-sc.org/display/RICNR/>`_.
 
-#. Non-RT RIC shall not update the same policy or configuration parameter for a given Near-RT RIC or RAN function more often than once per second.
-#. Non-RT RIC shall be able to update policies in several Near-RT RICs.
+NONRTRIC components
+-------------------
 
-Moreover, there are functional requirements regarding the A1 interface:
+These are the components that make up the Non-RT-RIC:
 
-#. A1 interface shall support communication of policies/intents from Non-RT RIC to Near-RT RIC.
-#. A1 interface shall support AI/ML model deployment and update from Non-RT RIC to Near-RT RIC.
-#. A1 interface shall support communication of enrichment information from Non-RT RIC to Near-RT RIC.
-#. A1 interface shall support feedback from Near-RT RIC for monitoring AI/ML model performance.
-#. A1 interface shall support the policy/intents feedback from Near-RT RIC to Non-RT RIC.
+* Non-RT-RIC Control Panel / Dashboard
+* A1 Policy Management Service (developed in ONAP)
+* A1/SDNC Controller & A1 Adapter (Controller plugin)
+* Enrichment Information Coordinator
+* Non-RT-RIC (Spring Cloud) Service Gateway
+* Non-RT-RIC (Kong) Service Exposure Prototyping
+* Initial Non-RT-RIC App Catalogue
+* Near-RT-RIC A1 Simulator
+
+The code base for "D" Release is in the `NONRTRIC <https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric>`_, `NONRTRIC-ControlPanel <https://gerrit.o-ran-sc.org/r/admin/repos/portal/nonrtric-controlpanel>`_, and `Near-RT-RIC A1-Simulator <https://gerrit.o-ran-sc.org/r/admin/repos/sim/a1-interface>`_ , Gerrit source repositories (D Branch).
+
+Non-RT-RIC Control Panel / NONRTRIC Dashboard
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Graphical user interface
+
+* View and Manage A1 policies in the RAN (near-RT-RICs)
+* Interacts with the Policy agent’s NBI (REST API)
+* Graphical A1 policy creation/editing is model-driven, based on policy type’s JSON schema
+* View and manage producers and jobs for the Enrichment coordinator service
+* Configure A1 Policy Management Service (e.g. add/remove near-rt-rics)
+* Interacts with the A1-PolicyManagementService & A1-EI-Coordinator (REST NBIs) via Service Exposure gateway
+     
+Implementation:
+
+* Frontend: Angular framework
+* Repo: *portal/nonrtric-controlpanel*
+
+Please refer the developer guide and the wiki to set up in your local environment.
+
+More details available at the `NONRTRIC-Portal documentation site <https://docs.o-ran-sc.org/projects/o-ran-sc-portal-nonrtric-controlpanel>`_
+
+A1 Policy Management Service (from ONAP CCSDK)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A1 Controller Service above A1 Controller/Adaptor that provides:
+
+* Unified REST & DMaaP NBI APIs for managing A1 Policies in all near-RT-RICs
+
+  + Query A1 Policy Types in near-RT-RICs
+  + Create/Query/Update/Delete A1 Policy Instances in near-RT-RICs
+  + Query Status for A1 Policy Instances
+
+* Maintains (persistent) cache of RAN’s A1 Policy information
+
+  * Support RAN-wide view of A1 Policy information
+  * Streamline A1 traffic
+  * Enable (optional) re-synchronization after inconsistencies / near-RT-RIC restarts
+  * Supports a large number of near-RT-RICs (& multi-version support)
+  
+* Converged ONAP & O-RAN-SC A1 Adapter/Controller functions in ONAP SDNC/CCSDK (Optionally deploy without A1 Adaptor to connect direct to near-RT-RICs)
+* Support for different Southbound connectors per near-RT-RIC - e.g. different A1 versions, different near-RT-RIC version, different A1 adapter/controllers supports different or proprietary A1 controllers/EMSs
+
+See also: `A1 Policy Management Service in ONAP <https://wiki.onap.org/pages/viewpage.action?pageId=84672221>`_  
+
+A1/SDNC Controller & A1 Adapter (Controller plugin)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Mediation point for A1 interface termination in SMO/NONRTRIC
+
+* Implemented as CCSDK OSGI Feature/Bundles
+* A1 REST southbound
+* RESTCONF Northbound
+* NETCONF YANG > RESTCONF adapter
+* SLI Mapping logic supported
+* Can be included in an any controller based on ONAP CCSDK
+* Continues to support both a dedicated OSC A1-controller persona and an ONAP SDNC persona  
+
+See also: `A1 Adapter/Controller Functions in ONAP <https://wiki.onap.org/pages/viewpage.action?pageId=84672221>`_  
+  
+Enrichment Information Job Coordination Service
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Coordinate/Register A1-EI Types, Producers, Consumers, and Jobs.
+
+* Maintains a registry of:
+
+  - A1-EI Data Types / schemas
+  - A1-EI Producers
+  - A1-EI Consumers
+  - A1-EI Jobs
+
+* A1-EI Query API (e.g. per producer, per consumer, per types)
+* Query status of A1-EI jobs
+* Monitors all near-RT-RICs and recovers from inconsistencies
+* After EI-type/Producer/Consumer/Job is successfully registered delivery/flow can happen directly between A1-EI Producers (in SMO/NONRTRIC domain) and A1-EI consumers (near-RT-RICs in RAN domain)
+* *Being extended to coordinate non-A1 Enrichment Information exchange between NONRTRIC Apps*
+
+Non-RT-RIC (Spring Cloud) Service Gateway
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Support Apps to use A1 Services 
+
+* `Spring Cloud Gateway <https://cloud.spring.io/spring-cloud-gateway>`_ provides the library to build a basic API gateway
+* Exposes A1 Policy Management Service & Enrichment Coordinator Service.  
+* Additional predicates can be added in code or preferably in the Gateway yaml configuration.
+
+Implementation:
+
+* Implemented as a Java Spring Cloud application
+* Repo: *portal/nonrtric-controlpanel*
+
+
+Non-RT-RIC (Kong) Service Exposure Prototyping
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Support Apps to use NONRTRIC, SMO and other App interfaces
+A building block for coming releases as the R1 Interface concept matures 
+
+* Support dynamic registration and exposure of service interfaces to Non-RT-RIC applications (& NONRTRIC Control panel)
+* Extends a static gateway function specifically for NONRTRIC Control panel (described above)
+* Initial version based on `Kong API Gateway <https://docs.konghq.com/gateway-oss>`_ function
+* Initial exposure candidates include A1 (NONRTRIC) services & O1 (OAM/SMO) services
+
+NONRTRIC Kubernetes deployment - including Kong configurations can be found in the OSC `it/dep <https://gerrit.o-ran-sc.org/r/gitweb?p=it/dep.git;a=tree;f=nonrtric/helm;hb=refs/heads/master>`_ Gerrit repo. 
+
+Initial Non-RT-RIC App Catalogue
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Register for Non-RT-RIC Apps.
+
+* Non-RT-RIC Apps can be registered / queried
+* Limited functionality/integration for now
+* *More work required in coming releases as the rApp concept matures*
+
+Initial K8S Helm Chart LCM Manager
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Onboard, start, stop, and modify Non-RT-RIC App µServices as Helm Charts
+*A building block for coming releases as the R-APP concept matures*
+
+* Interfaces that accepts Non-RT-RIC App µServices Helm Charts
+* Support basic LCM operations
+* Onboard, Start, Stop, Modify, Monitor
+* Initial version co-developed with v. similar functions in ONAP
+* *Limited functionality/integration for now*
+
+A1 Interface / Near-RT-RIC Simulator
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Stateful A1 test stub.
+
+* Used to create multiple stateful A1 providers (simulated near-rt-rics)
+* Supports A1-Policy and A1-EnrichmentInformation
+* Swagger-based northbound interface, so easy to change the A1 profile exposed (e.g. A1 version, A1 Policy Types, A1-E1 consumers, etc)
+* All A1-AP versions supported
+
+Implementation:
+
+* Implemented as a Python application
+* Repo: *portal/nonrtric-controlpanel*
+
+More details available at the `A1 Simulator documentation site <https://docs.o-ran-sc.org/projects/o-ran-sc-sim-a1-interface>`_
diff --git a/docs/requirements.rst b/docs/requirements.rst
new file mode 100644
index 0000000..7f4d582
--- /dev/null
+++ b/docs/requirements.rst
@@ -0,0 +1,32 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. Copyright (C) 2020 Nordix
+
+Requirements for the Non-RT RIC project
+=======================================
+
+Find detailed description of what Non-RT RIC is on this `page`_.
+
+.. _page: https://wiki.o-ran-sc.org/display/RICNR/
+
+There are functional requirements emitted by O-RAN WG2 for the Non-RT RIC, which are the following:
+
+#. Non-RT RIC shall support data retrieval and analysis; the data may include performance, configuration or other data related to the application (recommended data shown in required data section for  different use cases).
+#. Non-RT RIC shall support relevant AI/ML model training based on the data in 1. for non-real-time optimization of configuration parameters in RAN or Near-RT RIC, as applicable for the use case.
+#. Non-RT RIC shall support relevant AI/ML model training based on the data in 1. for generating/optimizing policies and intents to guide the behavior of applications in Near-RT RIC or RAN, as applicable for the use case.
+#. Non-RT RIC shall support training of relevant AI/ML models based on the data in 1. to be deployed/updated in Near-RT RIC as required by the applications.
+#. Non-RT RIC shall support performance monitoring and evaluation.
+#. Non-RT RIC shall support a fallback mechanism to prevent drastic degradation/fluctuation of performance, e.g. to restore to the previous policy or configuration.
+
+The non-functional requirements are the following ones:
+
+#. Non-RT RIC shall not update the same policy or configuration parameter for a given Near-RT RIC or RAN function more often than once per second.
+#. Non-RT RIC shall be able to update policies in several Near-RT RICs.
+
+Moreover, there are functional requirements regarding the A1 interface:
+
+#. A1 interface shall support communication of policies/intents from Non-RT RIC to Near-RT RIC.
+#. A1 interface shall support AI/ML model deployment and update from Non-RT RIC to Near-RT RIC.
+#. A1 interface shall support communication of enrichment information from Non-RT RIC to Near-RT RIC.
+#. A1 interface shall support feedback from Near-RT RIC for monitoring AI/ML model performance.
+#. A1 interface shall support the policy/intents feedback from Near-RT RIC to Non-RT RIC.
diff --git a/docs/use-cases.rst b/docs/use-cases.rst
index 3d18fcb..dabcf62 100644
--- a/docs/use-cases.rst
+++ b/docs/use-cases.rst
@@ -1,6 +1,6 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. http://creativecommons.org/licenses/by/4.0
-.. Copyright (C) 2020 Nordix
+.. Copyright (C) 2021 Nordix
 
 Use Cases
 =========
@@ -16,17 +16,27 @@
 
 For more information about it, see the README file in the use case's folder.
 
-.. image:: ./images/healtcheck.png
+.. image:: ./images/healthcheck.png
 
 O-RU closed loop recovery
 -------------------------
-Non-RT RIC provides two implementation versions of the recovery part of the use case. One in the form of a python
-script, and one utilizing the Policy Framework.
 
-Script version
-++++++++++++++
+This use case is a non-real-world closed-loop use case to demonstrate automated recovery when the front-haul connection between and O-DU and O-RU is reset. 
+An application in the NONRTRIC sense the fault from the O-RU (O1-FM) and initiates a NETCONF reset operation (O1-CM) using the OAM controller. 
+More details about the use case can be found on the O-RAN SC wiki: `(RSAC) <https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=20878423>`_ and `(OAM) <https://wiki.o-ran-sc.org/display/OAM/Closed+loop+use+case>`_.
+
+Non-RT RIC provides two implementation versions of the recovery part of the use case. One in the form of a python
+script, and one utilizing the ONAP Policy Framework.
+
+Standalone Script Solution
+++++++++++++++++++++++++++
 The script version consists of a python script that performs the tasks needed for the use case. There are also two
-simulators. One message generator that generates alarm messages, and one SDN-R simulator that recieves the config
+simulators. One message generator that generates alarm messages, and one SDN-R simulator that receives the config
 change messages sent from the script and responds with alarm cleared messages to MR.
 
 All parts are Dockerized and can be started as individual containers, in the same network, in Docker.
+
+ONAP Policy Solution
+++++++++++++++++++++
+
+**<ToDo>**
\ No newline at end of file
