diff --git a/docs/architecture/architecture.rst b/docs/architecture/architecture.rst
index bfe827b..1e0f069 100755
--- a/docs/architecture/architecture.rst
+++ b/docs/architecture/architecture.rst
@@ -1,5 +1,5 @@
 .. SPDX-License-Identifier: CC-BY-4.0
-.. Copyright 2020 Nordix Foundation
+.. Copyright 2021 Nordix Foundation
 .. _architecture:
 
 
@@ -11,14 +11,16 @@
 ************
 
 
-The CCSDK ORAN components provides handling of the O-RAN A1 interface.
+The CCSDK ORAN components add support for handling "A1 Policies" as defined for the O-RAN A1 interface.
+
+The O-RAN A1 interface is defined by the `O-RAN Alliance <https://www.o-ran.org>`_
 
 
 *********************************************
-Global NBI architecture for Frankfurt release
+Architecture for ONAP Honolulu release
 *********************************************
 
-Following illustration provides a global view about Non-Real-Time-RIC architecture,
+This picture provides a overview of ONAP's A1 Controller architecture,
 integration with other ONAP components and API resource/operation provided.
 
 .. image:: ../media/ONAP-A1ControllerArchitecture.png
@@ -29,5 +31,5 @@
 Developer Guide
 ***************
 
-Technical information about the ORAN components (dependencies, configuration, running & testing) could be found in :ref:`developer_guide`.
+Technical information about the O-RAN components (dependencies, configuration, running & testing) can be found in :ref:`developer_guide`.
 
diff --git a/docs/consumedapis/consumedapis.rst b/docs/consumedapis/consumedapis.rst
index 8357e43..d96dc9e 100755
--- a/docs/consumedapis/consumedapis.rst
+++ b/docs/consumedapis/consumedapis.rst
@@ -1,5 +1,5 @@
 .. SPDX-License-Identifier: CC-BY-4.0
-.. Copyright 2020 Nordix Foundation
+.. Copyright 2021 Nordix Foundation
 
 Consumed APIs
 =============
@@ -11,26 +11,22 @@
 CBS API
 *******
 
-The CBS API is used to get the dynamic configuration of the service, such as available Near-RT RICs.
-
-::
-
-    CBS_GET_ALL
+If *Consul* is used for configuring the A1 Policy Management Service the `ONAP DCAE Config Binding Service <https://docs.onap.org/projects/onap-dcaegen2/en/latest/sections/apis/configbinding.html>`_ is used. 
 
 *********
 DMAAP API
 *********
 
-The DMaaP API is used to provide the possibility to interact with the Policy Management Service through DMaaP Message
-Router.
+The A1 Policy Management Service API can also be accessed using *ONAP DMaaP*. To support this the `DMaaP Message Router API <https://docs.onap.org/projects/onap-dmaap-messagerouter-messageservice/en/latest/offeredapis/api.html>`_ is used.  
 
-::
+*****************************************
+O-RAN A1 interface for A1 Policies (A1-P)
+*****************************************
 
-    DMAAP_GET_EVENTS
+Southbound, the ONAP A1 Policy functions communicate with *near-RT-RIC* RAN functions using the **A1** interface, as defined by the `O-RAN Alliance <https://www.o-ran.org>`_   
+The *A1 Interface - Application Protocol Specification (A1-AP)* describe this interface. The specification can be viewed from the `O-RAN Alliance <https://www.o-ran.org>`_ website. 
 
-********
-A1-P API
-********
+The **Honolulu** ONAP A1 Policy functions implement the *A1 Policy* parts (*A1-P*) of A1-AP versions *v1.1* and *v2.0*
+    
+An opensource implementation of a `near-RT-RIC <https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=1179659>`_ is available from `O-RAN Software Community <https://o-ran-sc.org>`_. It supports a pre-spec version of the A1-AP. The ONAP A1 Policy functions described here also supports this A1 version (A1-OSC). 
 
-The A1-P API is used to communicate with the Near-RT RICs (north bound). All endpoints of the OSC A1 REST API and the
-standard A1 REST API version 1.1 are used.
diff --git a/docs/guide/developer-guide.rst b/docs/guide/developer-guide.rst
index f067a3f..e3fb764 100644
--- a/docs/guide/developer-guide.rst
+++ b/docs/guide/developer-guide.rst
@@ -1,27 +1,27 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. http://creativecommons.org/licenses/by/4.0
-.. Copyright (C) 2020 Nordix Foundation.
+.. Copyright (C) 2021 Nordix Foundation.
 
 .. _developer_guide:
 
 Developer Guide
 ===============
 
-This document provides a quickstart for developers of the CCSDK ORAN parts.
+This document provides a quickstart for developers of the CCSDK functions for O-RAN A1 Policies.
 
 Source tree
 +++++++++++
 
-This application provides CCSDK Policy Management Service and A1 Adapter as main functional resources.
+This provides CCSDK with "A1 Policy Management Service" and "A1 Adapter" functions.
 Each resource is implemented independently in a package corresponding to its name.
 
 A1 Policy Management Service
 ++++++++++++++++++++++++++++
 
-The CCSDK Policy Management Service (PMS) is a Java 11 web application built over Spring Framework.
+The ONAP CCSDK A1 Policy Management Service is a Java 11 web application built using the Spring Framework.
 Using Spring Boot dependencies, it runs as a standalone application.
 
-PMS provides a REST API for management of policices. It provides support for:
+A1 Policy Management Service provides a REST API for management of policies. It provides support for:
 
  * Supervision of clients (R-APPs) to eliminate stray policies in case of failure
  * Consistency monitoring of the SMO view of policies and the actual situation in the RICs
@@ -32,7 +32,7 @@
    * Query functions that can find all policies in a RIC, all policies owned by a service (R-APP), all policies of a type etc.
    * Maps O1 resources (ManagedElement) as defined in O1 to the controlling RIC.
 
-The Policy Management Service can be accessed over the REST API. See :ref:`pms_api` for how to use the API.
+The Policy Management Service can be accessed over the REST API, and with an equivalent interface using DMaaP. See :ref:`pms_api` for more information about the API.
 
 Dependencies
 ------------
@@ -53,10 +53,63 @@
 Configuration
 -------------
 
-There are two configuration files for PMS, *config/application_configuration.json* and *config/application.yaml*.
+There are two configuration files for A1 Policy Management Service, *config/application_configuration.json* and *config/application.yaml*
 The first one contains configuration of data needed by the application, such as which Near-RT RICs
 that are available. The second contains logging and security configurations.
 
+For more information about these configuration files can be found as comments in the sample files provided with the source code, or on the `ONAP wiki <https://wiki.onap.org/display/DW/O-RAN+A1+Policies+in+ONAP+Honolulu>`_
+
+Static configuration (application.yaml)
+---------------------------------------
+
+The file *./config/application.yaml* is read by the application at startup. It provides the following configurable features:
+
+ * server; configuration for the WEB server
+
+   * used port for HTTP/HTTPS, this is however not the port numbers visible outside the container
+   * SSL parameters for setting up using of key store and trust store databases.
+ * webclient; configuration parameters for a web client used by the component
+
+   * SSL parameters for setting up using of key store and trust store databases.
+   * Usage of HTTP(S) Proxy; if configured, the proxy will be used for southbound access to the NearRT-RICs
+
+ * logging; setting of of which information that is logged.
+ * filepath; the local path to a file used for dynamic configuration (if used). See next chapter.
+
+For details about the parameters in this file, see documentation in the file.
+
+Dynamic configuration
+---------------------
+
+The component has configuration that can be updated in runtime. This configuration can either be loaded from a file (accessible from the container) or from a CBS/Consul database (Cloudify). The configuration is re-read and refreshed at regular intervals.
+
+The configuration includes:
+
+ * Controller configuration, which includes information on how to access the a1-adapter
+ * One entry for each NearRT-RIC, which includes:
+
+   * The base URL of the NearRT RIC
+   * A list of O1 identifiers that the NearRT RIC is controlling. An application can query this service which NearRT RIC should be addressed for controlling (for instance) a given Cell.
+   * An optional reference to the controller to use, or excluded if the NearRT-RIC can be accessed directly from this component.
+
+ * Optional configuration for using of DMAAP. There can be one stream for requests to the component and an other stream for responses.
+
+For details about the syntax of the file, there is an example in source code repository */config/application_configuration.json*. This file is also included in the docker container */opt/app/policy-agent/data/application_configuration.json_example*.
+
+Using CBS/Consul database for dynamic configuration
+---------------------------------------------------
+
+The access of CBS is setup by means of environment variables. There is currently no support for setting these at on boarding.
+
+The following variables are required by the CBS:
+
+ * CONSUL_HOST
+ * CONSUL_PORT
+ * CONFIG_BINDING_SERVICE
+ * SERVICE_NAME
+
+
+
 Configuration of certs
 ----------------------
 
@@ -90,6 +143,6 @@
 A1 Adapter (Internal)
 +++++++++++++++++++++
 
-The O-RAN A1 Adapter provides an internal REST CONF API for management of A1 policices, useful for test and verification.
+The O-RAN A1 Adapter provides an **internal** RESTCONF API that is used by the A1 Policy Management System when accessing the A1 Interface. This API is useful for test and verification but should not used otherwise.
 
-The A1 Adapter can be accessed over the REST CONF API. See :ref:`a1_adapter_api` for how to use the API.
+See :ref:`a1_adapter_api` for details of this internal API.
diff --git a/docs/humaninterfaces/humaninterfaces.rst b/docs/humaninterfaces/humaninterfaces.rst
index ab7d421..c0ede9c 100644
--- a/docs/humaninterfaces/humaninterfaces.rst
+++ b/docs/humaninterfaces/humaninterfaces.rst
@@ -1,11 +1,11 @@
 .. SPDX-License-Identifier: CC-BY-4.0
-.. Copyright 2020 Nordix Foundation
+.. Copyright 2021 Nordix Foundation
 
 
 Human Interfaces
 ================
 
 The NON-RT RIC Control Panel in O-RAN-SC can be used to interact with the Policy Management Service.
-See `NON-RT RIC Control Panel repo <https://gerrit.o-ran-sc.org/r/admin/repos/portal/nonrtric-controlpanel>`_.
+See `NON-RT RIC Control Panel repo <https://gerrit.o-ran-sc.org/r/admin/repos/portal/nonrtric-controlpanel>`_ from the `O-RAN-SC NONRTRIC Project <https://wiki.o-ran-sc.org/display/RICNR>`_. 
 
-Any "Rest Client" application may be used (Postman, ...) to interact with the Policy Management Service application.
+Any "Rest Client" application may be used (Postman, ...) to interact with the Policy Management Service application via the :ref:`A1 Policy Management Service API<offered_apis>`_
diff --git a/docs/media/ONAP-A1ControllerArchitecture.png b/docs/media/ONAP-A1ControllerArchitecture.png
index 5951662..ded44fb 100644
--- a/docs/media/ONAP-A1ControllerArchitecture.png
+++ b/docs/media/ONAP-A1ControllerArchitecture.png
Binary files differ
diff --git a/docs/offeredapis/offeredapis.rst b/docs/offeredapis/offeredapis.rst
index a43c046..1ef7dd0 100644
--- a/docs/offeredapis/offeredapis.rst
+++ b/docs/offeredapis/offeredapis.rst
@@ -10,15 +10,15 @@
 ============
 
 Introduction
-************
+------------
 
-The north bound REST API of the Policy Management Service provides convenient methods to handle policies.
+The north bound REST API of the A1 Policy Management Service provides convenient methods to handle policies.
 
 
-Overview
-************************
+Overall architecture for O-RAN A1 Policy functions
+--------------------------------------------------
 
-Following illustration provides a global view about **ORAN** architecture,
+This picture provides a overview of ONAP's A1 Controller architecture,
 integration with other ONAP components and API resource/operation provided.
 
 .. image:: ../media/ONAP-A1ControllerArchitecture.png
@@ -26,26 +26,15 @@
 
 
 API Version
-***********
+-----------
 
 APIs are described with a  state version with "v" following the API Name,
 e.g.:  ``v2/policy``.
 The schema associated with a REST API must have its version number aligned
 with that of the REST API.
 
-The version number has major, minor and revision numbers. E.g. v1.0.0
-The version number (without the revision number) is held in the URI.
-
-The major version number is incremented for an incompatible change.
-The minor version number is incremented for a compatible change.
-For minor modifications of the API, version numbering must not be updated,
-
-For major modifications of the API, not backward compatible and forcing client
-implementations to be changed, the major version number must be updated.
-
-
 API Table
-*********
+---------
 
 .. |swagger-icon| image:: ../media/swagger.png
                   :width: 40px
@@ -58,19 +47,22 @@
    :header: "API name", "|swagger-icon|", "|yaml-icon|"
    :widths: 10,5, 5
 
-   "PMS API", ":download:`link <./swagger/pms-api.json>`", ":download:`link <./swagger/pms-api.yaml>`"
+   "A1 Policy Management Service API (NBI)", ":download:`link <./swagger/pms-api.json>`", ":download:`link <./swagger/pms-api.yaml>`"
    "A1 ADAPTER API (Internal)", ":download:`link <./swagger/a1-adapter-api.json>`", ":download:`link <./swagger/a1-adapter-api.yaml>`"
 
-
 .. _pms_api:
 
-PMS API
-.......
-`PMS API <./pms-api.html>`_
+A1 Policy Management Service API
+................................
+
+The A1 Policy Management Service API is described in more detail in `A1 Policy Management Service API (html) <./pms-api.html>`_
+
 
 .. _a1_adapter_api:
 
 A1 ADAPTER API
 ..............
-`A1 ADAPTER API (Internal) <./a1-adapter-api.html>`_
 
+The O-RAN A1 Adapter provides an **internal** RESTCONF API that is used by the A1 Policy Management System when accessing the A1 Interface. This API is useful for test and verification but should not be used otherwise.
+
+The A1 Adapter API is described in more detail in `A1 ADAPTER API (html) <./a1-adapter-api.html>`_
