diff --git a/docs/architecture.rst b/docs/architecture.rst
index 6211f12..19c9b70 100644
--- a/docs/architecture.rst
+++ b/docs/architecture.rst
@@ -1,21 +1,21 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. http://creativecommons.org/licenses/by/4.0
-.. Copyright 2017 AT&T Intellectual Property.  All rights reserved.
+.. Copyright (c) 2017-2018 AT&T Intellectual Property.  All rights reserved.
 
 
 Clamp in ONAP Architecture
 --------------------------
 
-CLAMP is a platform for designing and managing control loops. It is used to design
-a closed loop, configure it with specific parameters for a particular network
+CLAMP is a platform for designing and managing control loops. It is used to visualize
+a control loop, configure it with specific parameters for a particular network
 service, then deploying and undeploying it.  Once deployed, the user can also
 update the loop with new parameters during runtime, as well as suspending and
 restarting it.
 
-It interacts with other systems to deploy and execute the closed loop. For
-example, it pushes the control loop design to the SDC catalog, associating it
-with the VF resource.  It requests from DCAE the instantiation of microservices
-to manage the closed loop flow.  Further, it creates and updates multiple
+It interacts with other systems to deploy and execute the control loop. For
+example, it gets the control loop blueprint from SDC - DCAE-D.
+It requests from DCAE the instantiation of microservices
+to manage the control loop flow.  Furthermore, it creates and updates multiple
 policies in the Policy Engine that define the closed loop flow.
 
 The ONAP CLAMP platform abstracts the details of these systems under the concept
@@ -25,6 +25,9 @@
 control loops, where no low-level user interaction with other components is
 required.
 
+CLAMP also allows to visualize control loop metrics through a dashboard, in order
+to help operations understand how and when a control loop is triggered and takes action.
+
 At a higher level, CLAMP is about supporting and managing the broad operational
 life cycle of VNFs/VMs and ultimately ONAP components itself. It will offer the
 ability to design, test, deploy and update control loop automation - both closed
diff --git a/docs/index.rst b/docs/index.rst
index 38044ab..dfb19eb 100644
--- a/docs/index.rst
+++ b/docs/index.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 © 2017 AT&T Intellectual Property. All rights reserved.
+.. Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
 
 CLAMP - Closed Loop Automation Management Platform
 ==================================================
@@ -40,32 +40,48 @@
 Delivery
 --------
 CLAMP component is composed of a UI layer and a BackEnd layer and packaged into a single container.
-CLAMP also requires a database instance with 2 DB, it uses MariaDB.
+CLAMP also requires a database instance with 1 DB, it uses MariaDB.
+CLAMP also uses an ELK stack (Elastic Search, Logstash and Kibana) for the Dashboard.
 
 .. blockdiag::
 
 
    blockdiag layers {
-   orientation = portrait
-   CLAMP_UI -> CLAMP_BACKEND;
-   CLAMP_BACKEND -> CAMUNDADB;
-   CLAMP_BACKEND -> CLDSDB;
-   group l1 {
-   color = blue;
-   label = "CLAMP container";
-   CLAMP_UI; CLAMP_BACKEND;
+       orientation = portrait
+       CLAMP_UI -> CLAMP_BACKEND;
+       CLAMP_BACKEND -> CLDSDB;
+       CLAMP_KIBANA -> CLAMP_ELASTICSEARCH;
+       CLAMP_LOGSTASH -> CLAMP_ELASTICSEARCH;
+       group l1 {
+       color = blue;
+       label = "CLAMP container";
+       CLAMP_UI; CLAMP_BACKEND;
+       }
+       group l3 {
+       color = orange;
+       label = "MariaDB container";
+       CLDSDB;
+       }
+       group l4 {
+       color = green;
+       label = "E_Search container";
+       CLAMP_ELASTICSEARCH;
+       }
+       group l5 {
+          color = green;
+          label = "Kibana container";
+          CLAMP_KIBANA;
+       }
+       group l6 {
+          color = green;
+          label = "LogStash container";
+          CLAMP_LOGSTASH;
+       }
    }
-   group l3 {
-   color = orange;
-   label = "MariaDB container";
-   CAMUNDADB; CLDSDB;
-   }
-   }
-
 
 Logging & Diagnostic Information
 --------------------------------
-CLAMP uses logback framework to generate logs. The logback.xml file cand be found under the [src/main/resources/ folder](src/main/resources).
+CLAMP uses logback framework to generate logs. The logback.xml file can be found under the [src/main/resources/ folder](src/main/resources).
 
 With the default log settings, all logs will be generated into console and into root.log file under the CLAMP root folder. The root.log file is not allowed to be appended, thus restarting the CLAMP will result in cleaning of the old log files.
 
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index a5b9280..2e6fd47 100644
--- a/docs/release-notes.rst
+++ b/docs/release-notes.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 2017 AT&T Intellectual Property.  All rights reserved.
+.. Copyright (c) 2017-2018 AT&T Intellectual Property.  All rights reserved.
 
 Release Notes
 =============
@@ -8,7 +8,7 @@
 Version: 2.0.0
 --------------
 
-:Release Date: 2018-03-28
+:Release Date: 2018-06-25
 
 **New Features**
 
@@ -16,19 +16,17 @@
 
 The main goal of the Beijing release was to:
 
-    - Enhance Platform maturity by improving CLAMP maturity matrix see `Wiki <https://wiki.onap.org/display/DW/Beijing+Release+Platform+Maturity>`_
+    - Enhance Platform maturity by improving CLAMP maturity matrix see `Wiki <https://wiki.onap.org/display/DW/Beijing+Release+Platform+Maturity>`_.
     - Focus CLAMP on Closed loop runtime operations and control - this is reflected by the move of the design part to DCAE-D.
     - Introduce CLAMP Dashboard for monitoring of active Closed Loops.
-    - CLAMP is integrated with MSB
-    - CLAMP has integrated SWAGGER
-    - CLAMP main Core has been reworked for improved flexibility
+    - CLAMP is integrated with MSB.
+    - CLAMP has integrated SWAGGER.
+    - CLAMP main Core has been reworked for improved flexibility.
 
 **Bug Fixes**
 
-	- The full list of implemented user stories and epics is available on `JIRA <https://jira.onap.org/projects/CLAMP/versions/10314>`_
-	  This is technically the first release of CLAMP, previous release was the seed code contribution.
-	  As such, the defects fixed in this release were raised during the course of the release.
-	  Anything not closed is captured below under Known Issues. If you want to review the defects fixed in the Amsterdam release, refer to Jira link above.
+	- The full list of implemented user stories and epics is available on `BEIJING RELEASE <https://jira.onap.org/projects/CLAMP/versions/10314>`_
+	  This includes the list of bugs that were fixed during the course of this release.
 
 **Known Issues**
 
@@ -38,27 +36,26 @@
 
         Workaround:
 
-        You have to close the CL and reopen it again. In that case the Deploy action will do something
+        You have to close the CL and reopen it again. In that case the Deploy action will do something.
 
 
 **Security Issues**
-	CLAMP is following the CII Best Practices Badge Program, results including security assesment can be found on the
-	`project page <https://bestpractices.coreinfrastructure.org/projects/1197>`_
 
-    CLAMP Code is formally scanned during build time, the goal of Beijing Release was to ensure that all Critical items are closed
-    The remaining security issues and their workarounds are captured `here <https://wiki.onap.org/pages/viewpage.action?pageId=25440749>`_
+CLAMP is following the CII Best Practices Badge Program, results including security assesment can be found on the `project page <https://bestpractices.coreinfrastructure.org/projects/1197>`_.
+CLAMP Code is formally scanned during build time, the goal of Beijing Release was to ensure that all Critical items are closed.
+The remaining security issues and their workarounds are captured `here <https://wiki.onap.org/pages/viewpage.action?pageId=25440749>`_.
 
 **Upgrade Notes**
 
-    New Docker Containers are avaialble, an ELK stack is also now part of CLAMP deployments
+    New Docker Containers are avaialble, an ELK stack is also now part of CLAMP deployments.
 
 **Deprecation Notes**
 
-    The CLAMP Designer UI is now deprecated and unavailable, the design time is being onboarded into SDC - DCAE D
+    The CLAMP Designer UI is now deprecated and unavailable, the design time is being onboarded into SDC - DCAE D.
 
 **Other**
 
-    CLAMP Dashboard is now implemented, allows to monitor Closed Loops that are running by retrieving CL events on DMAAP
+    CLAMP Dashboard is now implemented, allows to monitor Closed Loops that are running by retrieving CL events on DMAAP.
 
 Version: 1.1.0
 --------------
@@ -77,7 +74,7 @@
 
 **Bug Fixes**
 
-	- The full list of implemented user stories and epics is available on `JIRA <https://jira.onap.org/projects/CLAMP/versions/10313>`_
+	- The full list of implemented user stories and epics is available on `AMSTERDAM RELEASE <https://jira.onap.org/projects/CLAMP/versions/10313>`_
 	  This is technically the first release of CLAMP, previous release was the seed code contribution.
 	  As such, the defects fixed in this release were raised during the course of the release.
 	  Anything not closed is captured below under Known Issues. If you want to review the defects fixed in the Amsterdam release, refer to Jira link above.
@@ -90,7 +87,7 @@
         Workaround:
 
         If you have multiple service available (if not create a dummy one on SDC), just click on another one and then click back on the first one in the list. The ResourceVF should be provisioned now.
-.
+
     - `CLAMP-69 <https://jira.onap.org/browse/CLAMP-69>`_ Deploy action does not always work.
 
         The "Deploy" action does not work directly after submitting it.
