diff --git a/BUILD.adoc b/BUILD.adoc
new file mode 100755
index 0000000..388972e
--- /dev/null
+++ b/BUILD.adoc
@@ -0,0 +1,109 @@
+//
+// ============LICENSE_START=======================================================
+//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+// 
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+== Quick Guide: How to build APEX from source
+
+
+[IMPORTANT]
+.A Build needs Space
+====
+Building APEX requires approximately 2-3 GB of hard disc space, 1 GB for the actual build with full distribution and 1-2 GB for the downloaded dependencies
+====
+
+[IMPORTANT]
+.A Build requires Internet (for first build)
+====
+During the build, several (a lot) of Maven dependencies will be downloaded and stored in the configured local Maven repository.
+The first standard build (and any first specific build) requires Internet access to download those dependencies.
+====
+
+[IMPORTANT]
+.Building RPM distributions
+====
+RPM images are only build if the `rpm` package is installed (Unix).
+To install `rpm` run `sudo apt-get install rpm`, then build APEX.
+====
+
+
+
+=== Standard build
+
+A standard build will build all Maven projects, including the packages.
+It will not build the APEX site oand documentation.
+
+Note: APEX has a dependency to ONAP parent projects.
+You might need to adjust your Maven M2 settings.
+The most current settings can be found in the ONAP oparent repo: link:https://git.onap.org/oparent/plain/settings.xml[Settings].
+
+Without tests, takes about 6 minutes.
+
+----
+mvn install -DskipTests
+----
+
+With standard tests, takes about 10-15 minutes.
+
+----
+mvn install
+----
+
+With all tests (requires some database and other software installed).
+
+----
+mvn install -DapexAll
+----
+
+
+=== Building the HowTo with all details
+
+
+Build the APEX stand-alone documentation
+
+----
+mvn generate-resources -N -DapexDocs
+----
+
+Then open the HowTo in a browser, for example
+
+----
+firefox target/generated-docs/html/HowTo-Build-APEX.html
+----
+
+
+=== APEX Site
+
+Building a complete site workflow (start with cleaning your local site staging directory).
+
+[IMPORTANT]
+.Building a Site takes Time
+====
+Building and staging the APEX web site can take very long.
+The stand-alone documentation will take about 2 minutes.
+The sites for all modules and projects and the main APEX site can take between 10-30 minutes depending on your build machine
+(~10 minutes without generating source and test-source reports, closer to 30 minutes with all reports).
+====
+
+
+----
+mvn clean -DapexAll
+mvn install -DskipTests
+mvn generate-resources -N -DapexDocs
+mvn initialize site:attach-descriptor site site:stage -DapexSite
+----
+
+
+Terms & Conditions apply
+
+
+* * *
+*The ONAP APEX team*
diff --git a/client/client-deployment/pom.xml b/client/client-deployment/pom.xml
index ee4038c..aacf34a 100644
--- a/client/client-deployment/pom.xml
+++ b/client/client-deployment/pom.xml
@@ -79,11 +79,11 @@
                 <artifactId>maven-dependency-plugin</artifactId>
                 <executions>
                     <execution>
-                        <id>unpack-client-deployment-shared-resources</id>
+                        <id>unpack-client-deployment-shared-resources-war</id>
                         <goals>
                             <goal>unpack-dependencies</goal>
                         </goals>
-                        <phase>generate-resources</phase>
+                        <phase>validate</phase>
                         <configuration>
                             <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}</outputDirectory>
                             <includeArtifacIds>client-common</includeArtifacIds>
@@ -95,7 +95,49 @@
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>3.1.0</version>
+                <executions>
+                    <execution>
+                        <id>copy-common-resources-to-jar</id>
+                        <phase>initialize</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory>
+                            <filtering>false</filtering>
+                            <resources>
+                                <resource>
+                                    <directory>../client-common/src/main/resources</directory>
+                                </resource>
+                            </resources>
+                            <overwrite>true</overwrite>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>copy-local-resources-to-jar</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory>
+                            <filtering>false</filtering>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/resources/webapp</directory>
+                                </resource>
+                            </resources>
+                            <overwrite>true</overwrite>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-shade-plugin</artifactId>
+                <version>2.4.3</version>
                 <executions>
                     <execution>
                         <phase>package</phase>
@@ -144,6 +186,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-war-plugin</artifactId>
+                <version>2.6</version>
                 <configuration>
                     <classifier>ui</classifier>
                     <warSourceDirectory>src/main/resources/webapp</warSourceDirectory>
diff --git a/client/client-deployment/src/site/site.xml b/client/client-deployment/src/site/site.xml
index 69399de..aeb592e 100644
--- a/client/client-deployment/src/site/site.xml
+++ b/client/client-deployment/src/site/site.xml
@@ -16,6 +16,7 @@
 <project name="APEX Client Deployment">
     <body>
         <menu name="APEX Client Deployment">
+            <item href="javadocs/index.html" name="API Doc" />
         </menu>
         <menu ref="reports" inherit="top" />
         <menu ref="modules" />
diff --git a/client/client-editor/pom.xml b/client/client-editor/pom.xml
index 33d5349..3e250e0 100644
--- a/client/client-editor/pom.xml
+++ b/client/client-editor/pom.xml
@@ -109,7 +109,7 @@
                         <goals>
                             <goal>unpack-dependencies</goal>
                         </goals>
-                        <phase>generate-resources</phase>
+                        <phase>validate</phase>
                         <configuration>
                             <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}</outputDirectory>
                             <includeArtifacIds>client-common</includeArtifacIds>
@@ -121,7 +121,49 @@
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>3.1.0</version>
+                <executions>
+                    <execution>
+                        <id>copy-common-resources-to-jar</id>
+                        <phase>initialize</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory>
+                            <filtering>false</filtering>
+                            <resources>
+                                <resource>
+                                    <directory>../client-common/src/main/resources</directory>
+                                </resource>
+                            </resources>
+                            <overwrite>true</overwrite>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>copy-local-resources-to-jar</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory>
+                            <filtering>false</filtering>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/resources/webapp</directory>
+                                </resource>
+                            </resources>
+                            <overwrite>true</overwrite>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-shade-plugin</artifactId>
+                <version>2.4.3</version>
                 <executions>
                     <execution>
                         <phase>package</phase>
@@ -170,6 +212,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-war-plugin</artifactId>
+                <version>2.6</version>
                 <configuration>
                     <classifier>ui</classifier>
                     <warSourceDirectory>src/main/resources/webapp</warSourceDirectory>
diff --git a/client/client-editor/src/main/resources/webapp/css/styles.css b/client/client-editor/src/main/resources/webapp/css/styles.css
index 1372ac8..0a0bb06 100644
--- a/client/client-editor/src/main/resources/webapp/css/styles.css
+++ b/client/client-editor/src/main/resources/webapp/css/styles.css
@@ -512,12 +512,12 @@
 
 .onapLogo {
     padding-right: 100px;
-    height: 250px;
+    height: 75px;
     width: 350px;
 }
 
 .apexLogo {
-    height: 250px;
+    height: 267px;
     width: 350px;
 }
 
diff --git a/client/client-editor/src/main/resources/webapp/images/Apex.png b/client/client-editor/src/main/resources/webapp/images/Apex.png
index 6abacdc..e71451f 100644
--- a/client/client-editor/src/main/resources/webapp/images/Apex.png
+++ b/client/client-editor/src/main/resources/webapp/images/Apex.png
Binary files differ
diff --git a/client/client-editor/src/site/site.xml b/client/client-editor/src/site/site.xml
index 1f2d5ff..e8c9b86 100644
--- a/client/client-editor/src/site/site.xml
+++ b/client/client-editor/src/site/site.xml
@@ -16,6 +16,7 @@
 <project name="APEX Client Editor">
     <body>
         <menu name="APEX Client Editor">
+            <item href="javadocs/index.html" name="API Doc" />
         </menu>
         <menu ref="reports" inherit="top" />
         <menu ref="modules" />
diff --git a/client/client-full/pom.xml b/client/client-full/pom.xml
index 0d9ee27..788bb15 100644
--- a/client/client-full/pom.xml
+++ b/client/client-full/pom.xml
@@ -62,21 +62,21 @@
                 </includes>
             </resource>
             <resource>
-                <directory>../client-monitoring/target/client-monitoring-${project.version}</directory>
+                <directory>../client-monitoring/target/classes/webapp</directory>
                 <includes>
                     <include>**/*.*</include>
                 </includes>
                 <targetPath>webapp/monitoring</targetPath>
             </resource>
             <resource>
-                <directory>../client-editor/target/client-editor-${project.version}</directory>
+                <directory>../client-editor/target/classes/webapp</directory>
                 <includes>
                     <include>**/*.*</include>
                 </includes>
                 <targetPath>webapp/editor</targetPath>
             </resource>
             <resource>
-                <directory>../client-deployment/target/client-deployment-${project.version}</directory>
+                <directory>../client-deployment/target/classes/webapp</directory>
                 <includes>
                     <include>**/*.*</include>
                 </includes>
@@ -89,7 +89,27 @@
         <plugins>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>unpack-client-editor-shared-resources</id>
+                        <goals>
+                            <goal>unpack-dependencies</goal>
+                        </goals>
+                        <phase>generate-resources</phase>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}</outputDirectory>
+                            <includeArtifacIds>client-common</includeArtifacIds>
+                            <includeGroupIds>${project.groupId}</includeGroupIds>
+                            <excludeTransitive>true</excludeTransitive>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-shade-plugin</artifactId>
+                <version>2.4.3</version>
                 <executions>
                     <execution>
                         <phase>package</phase>
@@ -138,6 +158,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-war-plugin</artifactId>
+                <version>2.6</version>
                 <configuration>
                     <classifier>ui</classifier>
                     <warSourceDirectory>target/classes/webapp</warSourceDirectory>
diff --git a/client/client-full/src/main/resources/webapp/css/styles.css b/client/client-full/src/main/resources/webapp/css/styles.css
index dfdb180..1592c2f 100644
--- a/client/client-full/src/main/resources/webapp/css/styles.css
+++ b/client/client-full/src/main/resources/webapp/css/styles.css
@@ -279,14 +279,14 @@
 
 .onapLogo {
     display: block;
-    height: 225px;
+    height: 59px;
     width: 325px;
     padding-bottom: 31px;
 }
 
 .apexLogo {
     display: block;
-    height: 225px;
+    height: 248px;
     width: 325px;
 }
 
diff --git a/client/client-full/src/main/resources/webapp/images/Apex.png b/client/client-full/src/main/resources/webapp/images/Apex.png
index 6abacdc..e71451f 100644
--- a/client/client-full/src/main/resources/webapp/images/Apex.png
+++ b/client/client-full/src/main/resources/webapp/images/Apex.png
Binary files differ
diff --git a/client/client-full/src/site/site.xml b/client/client-full/src/site/site.xml
index 35e49fe..044a766 100644
--- a/client/client-full/src/site/site.xml
+++ b/client/client-full/src/site/site.xml
@@ -16,6 +16,7 @@
 <project name="APEX Client Full">
     <body>
         <menu name="APEX Client Full">
+            <item href="javadocs/index.html" name="API Doc" />
         </menu>
         <menu ref="reports" inherit="top" />
         <menu ref="modules"/>
diff --git a/client/client-monitoring/pom.xml b/client/client-monitoring/pom.xml
index 5bfda41..274ac23 100644
--- a/client/client-monitoring/pom.xml
+++ b/client/client-monitoring/pom.xml
@@ -78,7 +78,7 @@
                         <goals>
                             <goal>unpack-dependencies</goal>
                         </goals>
-                        <phase>generate-resources</phase>
+                        <phase>validate</phase>
                         <configuration>
                             <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}</outputDirectory>
                             <includeArtifacIds>client-common</includeArtifacIds>
@@ -90,7 +90,49 @@
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>3.1.0</version>
+                <executions>
+                    <execution>
+                        <id>copy-common-resources-to-jar</id>
+                        <phase>initialize</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory>
+                            <filtering>false</filtering>
+                            <resources>
+                                <resource>
+                                    <directory>../client-common/src/main/resources</directory>
+                                </resource>
+                            </resources>
+                            <overwrite>true</overwrite>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>copy-local-resources-to-jar</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory>
+                            <filtering>false</filtering>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/resources/webapp</directory>
+                                </resource>
+                            </resources>
+                            <overwrite>true</overwrite>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-shade-plugin</artifactId>
+                <version>2.4.3</version>
                 <executions>
                     <execution>
                         <phase>package</phase>
@@ -139,6 +181,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-war-plugin</artifactId>
+                <version>2.6</version>
                 <configuration>
                     <classifier>ui</classifier>
                     <warSourceDirectory>src/main/resources/webapp</warSourceDirectory>
diff --git a/client/client-monitoring/src/site/site.xml b/client/client-monitoring/src/site/site.xml
index 5107522..d3a31d2 100644
--- a/client/client-monitoring/src/site/site.xml
+++ b/client/client-monitoring/src/site/site.xml
@@ -16,6 +16,7 @@
 <project name="APEX Client Monitoring">
     <body>
         <menu name="APEX Client Monitoring">
+            <item href="javadocs/index.html" name="API Doc" />
         </menu>
         <menu ref="reports" inherit="top" />
         <menu ref="modules" />
diff --git a/context/context-management/src/main/java/org/onap/policy/apex/context/parameters/ContextParameters.java b/context/context-management/src/main/java/org/onap/policy/apex/context/parameters/ContextParameters.java
index 2a109d4..80ec0eb 100644
--- a/context/context-management/src/main/java/org/onap/policy/apex/context/parameters/ContextParameters.java
+++ b/context/context-management/src/main/java/org/onap/policy/apex/context/parameters/ContextParameters.java
@@ -31,7 +31,7 @@
  * <ol>
  * <li>flushPeriod: Context is flushed to any persistor plugin that is defined periodically, and the
  * period for flushing is the flush period.
- * <li>distributorParameters: The parameters (a {@link distributorParameters} instance) for the
+ * <li>distributorParameters: The parameters (a {@link DistributorParameters} instance) for the
  * distributor plugin that is being used for context album distribution
  * <li>schemaParameters: The parameters (a {@link SchemaParameters} instance) for the schema plugin
  * that is being used for context album schemas
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ArtifactKeyTestEntity.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ArtifactKeyTestEntity.java
index 49802c2..2653ca2 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ArtifactKeyTestEntity.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ArtifactKeyTestEntity.java
@@ -33,6 +33,9 @@
 import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
 import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
 
+/**
+ * The Class ArtifactKeyTestEntity is an entity for testing artifact keys.
+ */
 @Entity
 @Table(name = "ArtifactKeyTestEntity")
 public class ArtifactKeyTestEntity extends AxConcept {
@@ -44,62 +47,130 @@
 
     private double doubleValue;
 
+    /**
+     * Instantiates a new artifact key test entity.
+     */
     public ArtifactKeyTestEntity() {
         this.key = new AxArtifactKey();
         this.doubleValue = 0;
     }
 
+    /**
+     * Instantiates a new artifact key test entity.
+     *
+     * @param doubleValue the double value
+     */
     public ArtifactKeyTestEntity(final Double doubleValue) {
         this.key = new AxArtifactKey();
         this.doubleValue = doubleValue;
     }
 
+    /**
+     * Instantiates a new artifact key test entity.
+     *
+     * @param key the key
+     * @param doubleValue the double value
+     */
     public ArtifactKeyTestEntity(final AxArtifactKey key, final Double doubleValue) {
         this.key = key;
         this.doubleValue = doubleValue;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#getKey()
+     */
     @Override
     public AxArtifactKey getKey() {
         return key;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#getKeys()
+     */
     @Override
     public List<AxKey> getKeys() {
         return Arrays.asList((AxKey) getKey());
     }
 
+    /**
+     * Sets the key.
+     *
+     * @param key the new key
+     */
     public void setKey(final AxArtifactKey key) {
         this.key = key;
     }
 
+    /**
+     * Check set key.
+     *
+     * @return true, if successful
+     */
     public boolean checkSetKey() {
         return (this.key != null);
     }
 
+    /**
+     * Gets the double value.
+     *
+     * @return the double value
+     */
     public double getDoubleValue() {
         return doubleValue;
     }
 
+    /**
+     * Sets the double value.
+     *
+     * @param doubleValue the new double value
+     */
     public void setDoubleValue(final double doubleValue) {
         this.doubleValue = doubleValue;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.onap.policy.apex.model.basicmodel.concepts.AxConcept#validate(org.onap.policy.apex.model.basicmodel.concepts.
+     * AxValidationResult)
+     */
     @Override
     public AxValidationResult validate(final AxValidationResult result) {
         return key.validate(result);
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#clean()
+     */
     @Override
     public void clean() {
         key.clean();
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#toString()
+     */
     @Override
     public String toString() {
         return "ArtifactKeyTestEntity [key=" + key + ", doubleValue=" + doubleValue + "]";
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.onap.policy.apex.model.basicmodel.concepts.AxConcept#copyTo(org.onap.policy.apex.model.basicmodel.concepts.
+     * AxConcept)
+     */
     @Override
     public AxConcept copyTo(final AxConcept target) {
         final Object copyObject = ((target == null) ? new ArtifactKeyTestEntity() : target);
@@ -117,6 +188,11 @@
         }
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#hashCode()
+     */
     @Override
     public int hashCode() {
         final int prime = 31;
@@ -125,6 +201,11 @@
         return result;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#equals(java.lang.Object)
+     */
     @Override
     public boolean equals(final Object obj) {
         if (obj == null) {
@@ -147,6 +228,11 @@
         return (Double.compare(doubleValue, other.doubleValue) == 0);
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Comparable#compareTo(java.lang.Object)
+     */
     @Override
     public int compareTo(final AxConcept otherObj) {
         if (otherObj == null) {
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ReferenceKeyTestEntity.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ReferenceKeyTestEntity.java
index 6f27633..d172f02 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ReferenceKeyTestEntity.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ReferenceKeyTestEntity.java
@@ -35,6 +35,9 @@
 import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
 import org.onap.policy.apex.model.basicmodel.xml.AxReferenceKeyAdapter;
 
+/**
+ * The Class ReferenceKeyTestEntity provides a reference key test concept.
+ */
 @Entity
 @Table(name = "ReferenceKeyTestEntity")
 public class ReferenceKeyTestEntity extends AxConcept {
@@ -47,62 +50,130 @@
 
     private double doubleValue;
 
+    /**
+     * Instantiates a new reference key test entity.
+     */
     public ReferenceKeyTestEntity() {
         this.key = new AxReferenceKey();
         this.doubleValue = 0;
     }
 
+    /**
+     * Instantiates a new reference key test entity.
+     *
+     * @param doubleValue the double value
+     */
     public ReferenceKeyTestEntity(final Double doubleValue) {
         this.key = new AxReferenceKey();
         this.doubleValue = doubleValue;
     }
 
+    /**
+     * Instantiates a new reference key test entity.
+     *
+     * @param key the key
+     * @param doubleValue the double value
+     */
     public ReferenceKeyTestEntity(final AxReferenceKey key, final Double doubleValue) {
         this.key = key;
         this.doubleValue = doubleValue;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#getKey()
+     */
     @Override
     public AxReferenceKey getKey() {
         return key;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#getKeys()
+     */
     @Override
     public List<AxKey> getKeys() {
         return Arrays.asList((AxKey) getKey());
     }
 
+    /**
+     * Sets the key.
+     *
+     * @param key the new key
+     */
     public void setKey(final AxReferenceKey key) {
         this.key = key;
     }
 
+    /**
+     * Check set key.
+     *
+     * @return true, if successful
+     */
     public boolean checkSetKey() {
         return (this.key != null);
     }
 
+    /**
+     * Gets the double value.
+     *
+     * @return the double value
+     */
     public double getDoubleValue() {
         return doubleValue;
     }
 
+    /**
+     * Sets the double value.
+     *
+     * @param doubleValue the new double value
+     */
     public void setDoubleValue(final double doubleValue) {
         this.doubleValue = doubleValue;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.onap.policy.apex.model.basicmodel.concepts.AxConcept#validate(org.onap.policy.apex.model.basicmodel.concepts.
+     * AxValidationResult)
+     */
     @Override
     public AxValidationResult validate(final AxValidationResult result) {
         return key.validate(result);
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#clean()
+     */
     @Override
     public void clean() {
         key.clean();
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#toString()
+     */
     @Override
     public String toString() {
         return "ReferenceKeyTestEntity [key=" + key + ", doubleValue=" + doubleValue + "]";
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.onap.policy.apex.model.basicmodel.concepts.AxConcept#copyTo(org.onap.policy.apex.model.basicmodel.concepts.
+     * AxConcept)
+     */
     @Override
     public AxConcept copyTo(final AxConcept target) {
         final Object copyObject = ((target == null) ? new ReferenceKeyTestEntity() : target);
@@ -120,6 +191,11 @@
         }
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#hashCode()
+     */
     @Override
     public int hashCode() {
         final int prime = 31;
@@ -128,6 +204,11 @@
         return result;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#equals(java.lang.Object)
+     */
     @Override
     public boolean equals(final Object obj) {
         if (obj == null) {
@@ -150,6 +231,11 @@
         return (Double.compare(doubleValue, other.doubleValue) == 0);
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Comparable#compareTo(java.lang.Object)
+     */
     @Override
     public int compareTo(final AxConcept otherObj) {
         if (otherObj == null) {
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/package-info.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/package-info.java
index 8a4ea4c..be51a4e 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/package-info.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/package-info.java
@@ -19,7 +19,7 @@
  */
 
 /**
- * Contains common test entities  
+ * Contains common test entities.
  * @author Dinh Danh Le (dinh.danh.le@ericsson.com)
  *
  */
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/AlbumModifier.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/AlbumModifier.java
index 14ceba4..1253d22 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/AlbumModifier.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/AlbumModifier.java
@@ -23,8 +23,19 @@
 import org.onap.policy.apex.context.ContextAlbum;
 import org.onap.policy.apex.context.ContextException;
 
+/**
+ * The Interface AlbumModifier defines the interface to allow context albums be modified during context tests.
+ */
 public interface AlbumModifier {
 
+    /**
+     * Modify album.
+     *
+     * @param contextAlbum the context album
+     * @param loopSize the loop size
+     * @param arraySize the array size
+     * @throws ContextException the context exception
+     */
     void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) throws ContextException;
 
 }
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/LockType.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/LockType.java
index 228ca7a..82de5b4 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/LockType.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/LockType.java
@@ -22,6 +22,9 @@
 
 import org.onap.policy.apex.context.ContextRuntimeException;
 
+/**
+ * The Enum LockType defines the type of lock on a test context album.
+ */
 public enum LockType {
 
     NO_LOCK(0) {
@@ -56,10 +59,20 @@
 
     private final int value;
 
+    /**
+     * Instantiates a new lock type.
+     *
+     * @param value the value
+     */
     private LockType(final int value) {
         this.value = value;
     }
 
+    /**
+     * Gets the value.
+     *
+     * @return the value
+     */
     public int getValue() {
         return value;
     }
@@ -78,6 +91,11 @@
         throw new ContextRuntimeException("Invalid Lock type value: " + value);
     }
 
+    /**
+     * Gets the album modifier.
+     *
+     * @return the album modifier
+     */
     public abstract AlbumModifier getAlbumModifier();
 
 }
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/NoLockAlbumModifier.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/NoLockAlbumModifier.java
index 6c273a0..4ce7890 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/NoLockAlbumModifier.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/NoLockAlbumModifier.java
@@ -27,9 +27,18 @@
 import org.slf4j.ext.XLogger;
 import org.slf4j.ext.XLoggerFactory;
 
+/**
+ * The Class NoLockAlbumModifier implements a non lock context album.
+ */
 public class NoLockAlbumModifier implements AlbumModifier {
     private static final XLogger LOGGER = XLoggerFactory.getXLogger(NoLockAlbumModifier.class);
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.lock.modifier.AlbumModifier#modifyAlbum(org.onap.policy.apex.context.
+     * ContextAlbum, int, int)
+     */
     @Override
     public void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) {
         final Random rand = new Random();
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/ReadLockAlbumModifier.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/ReadLockAlbumModifier.java
index 854179c..fbafb10 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/ReadLockAlbumModifier.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/ReadLockAlbumModifier.java
@@ -28,9 +28,18 @@
 import org.slf4j.ext.XLogger;
 import org.slf4j.ext.XLoggerFactory;
 
+/**
+ * The Class ReadLockAlbumModifier implements a read lock context album.
+ */
 public class ReadLockAlbumModifier implements AlbumModifier {
     private static final XLogger LOGGER = XLoggerFactory.getXLogger(ReadLockAlbumModifier.class);
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.lock.modifier.AlbumModifier#modifyAlbum(org.onap.policy.apex.context.
+     * ContextAlbum, int, int)
+     */
     @Override
     public void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) {
         final Random rand = new Random();
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/SingleValueWriteLockAlbumModifier.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/SingleValueWriteLockAlbumModifier.java
index 959e93c..674cf3a 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/SingleValueWriteLockAlbumModifier.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/SingleValueWriteLockAlbumModifier.java
@@ -28,13 +28,21 @@
 import org.slf4j.ext.XLogger;
 import org.slf4j.ext.XLoggerFactory;
 
+/**
+ * The Class SingleValueWriteLockAlbumModifier implements a single value lock context album.
+ */
 public class SingleValueWriteLockAlbumModifier implements AlbumModifier {
     private static final XLogger LOGGER = XLoggerFactory.getXLogger(SingleValueWriteLockAlbumModifier.class);
 
-
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.lock.modifier.AlbumModifier#modifyAlbum(org.onap.policy.apex.context.
+     * ContextAlbum, int, int)
+     */
     @Override
     public void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize)
-            throws ContextException {
+                    throws ContextException {
         for (int i = 0; i < loopSize; i++) {
             try {
                 contextAlbum.lockForWriting(TEST_VALUE);
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/WriteLockAlbumModifier.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/WriteLockAlbumModifier.java
index d1f5ec1..7136121 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/WriteLockAlbumModifier.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/WriteLockAlbumModifier.java
@@ -28,10 +28,18 @@
 import org.slf4j.ext.XLogger;
 import org.slf4j.ext.XLoggerFactory;
 
+/**
+ * The Class WriteLockAlbumModifier implements a write lock context album.
+ */
 public class WriteLockAlbumModifier implements AlbumModifier {
     private static final XLogger LOGGER = XLoggerFactory.getXLogger(WriteLockAlbumModifier.class);
 
-
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.lock.modifier.AlbumModifier#modifyAlbum(org.onap.policy.apex.context.
+     * ContextAlbum, int, int)
+     */
     @Override
     public void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) {
         final Random rand = new Random();
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/package-info.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/package-info.java
new file mode 100644
index 0000000..bf5bcb3
--- /dev/null
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/package-info.java
@@ -0,0 +1,25 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+/**
+ * Provides modifiers that allow the locking on a contest album to be modified in various ways.
+ */
+
+package org.onap.policy.apex.context.test.lock.modifier;
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProvider.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProvider.java
index b842f7a..f3a49df 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProvider.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProvider.java
@@ -30,35 +30,116 @@
 import org.onap.policy.apex.context.test.lock.modifier.LockType;
 import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
 
+/**
+ * The Interface ConfigrationProvider provides the configuration for a context test to a context test executor.
+ */
 public interface ConfigrationProvider {
 
+    /**
+     * Gets the test name.
+     *
+     * @return the test name
+     */
     String getTestName();
 
+    /**
+     * Gets the loop size.
+     *
+     * @return the loop size
+     */
     int getLoopSize();
 
+    /**
+     * Gets the thread count.
+     *
+     * @return the thread count
+     */
     int getThreadCount();
 
+    /**
+     * Gets the jvm count.
+     *
+     * @return the jvm count
+     */
     int getJvmCount();
 
+    /**
+     * Gets the album size.
+     *
+     * @return the album size
+     */
     int getAlbumSize();
 
+    /**
+     * Gets the executor service.
+     *
+     * @return the executor service
+     */
     ExecutorService getExecutorService();
 
+    /**
+     * Gets the executor service.
+     *
+     * @param threadFactoryName the thread factory name
+     * @param threadPoolSize the thread pool size
+     * @return the executor service
+     */
     ExecutorService getExecutorService(final String threadFactoryName, final int threadPoolSize);
 
+    /**
+     * Gets the distributor.
+     *
+     * @param key the key
+     * @return the distributor
+     */
     Distributor getDistributor(final AxArtifactKey key);
 
+    /**
+     * Gets the distributor.
+     *
+     * @return the distributor
+     */
     Distributor getDistributor();
 
+    /**
+     * Gets the context album.
+     *
+     * @param distributor the distributor
+     * @return the context album
+     */
     ContextAlbum getContextAlbum(final Distributor distributor);
 
+    /**
+     * Gets the context album.
+     *
+     * @param distributor the distributor
+     * @param axContextAlbumKey the ax context album key
+     * @param artifactKeys the artifact keys
+     * @return the context album
+     * @throws ContextException the context exception
+     */
     ContextAlbum getContextAlbum(final Distributor distributor, AxArtifactKey axContextAlbumKey,
-            AxArtifactKey[] artifactKeys) throws ContextException;
+                    AxArtifactKey[] artifactKeys) throws ContextException;
 
+    /**
+     * Gets the context album init values.
+     *
+     * @return the context album init values
+     */
     Map<String, Object> getContextAlbumInitValues();
 
+    /**
+     * Gets the album modifier.
+     *
+     * @return the album modifier
+     */
     AlbumModifier getAlbumModifier();
 
+    /**
+     * Gets the lock type.
+     *
+     * @return the lock type
+     */
     LockType getLockType();
 
 }
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProviderImpl.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProviderImpl.java
index 87b8164..c632809 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProviderImpl.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProviderImpl.java
@@ -38,6 +38,9 @@
 import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel;
 import org.onap.policy.apex.model.utilities.Assertions;
 
+/**
+ * The Class ConfigrationProviderImpl provides configuration information for a context test back to the caller.
+ */
 public class ConfigrationProviderImpl implements ConfigrationProvider {
 
     private final String testType;
@@ -49,6 +52,7 @@
 
     /**
      * The parameterized ConfigrationProviderImpl constructor.
+     * 
      * @param testType the test type
      * @param jvmCount the JVM count
      * @param threadCount the thread count
@@ -57,7 +61,7 @@
      * @param lockType the lock type
      */
     public ConfigrationProviderImpl(final String testType, final int jvmCount, final int threadCount,
-            final int loopSize, final int albumSize, final int lockType) {
+                    final int loopSize, final int albumSize, final int lockType) {
         this.testType = testType;
         this.jvmCount = jvmCount;
         this.threadCount = threadCount;
@@ -66,31 +70,61 @@
         this.lockType = LockType.getLockType(lockType);
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getTestName()
+     */
     @Override
     public String getTestName() {
         return testType;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getLoopSize()
+     */
     @Override
     public int getLoopSize() {
         return loopSize;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getThreadCount()
+     */
     @Override
     public int getThreadCount() {
         return threadCount;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getJvmCount()
+     */
     @Override
     public int getJvmCount() {
         return jvmCount;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getAlbumSize()
+     */
     @Override
     public int getAlbumSize() {
         return albumSize;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getExecutorService()
+     */
     @Override
     public ExecutorService getExecutorService() {
         final String name = getThreadFactoryName(jvmCount, testType);
@@ -99,6 +133,11 @@
         return executorService;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getExecutorService(java.lang.String, int)
+     */
     @Override
     public ExecutorService getExecutorService(final String threadFactoryName, final int threadPoolSize) {
         final IntegrationThreadFactory threadFactory = new IntegrationThreadFactory(threadFactoryName);
@@ -106,6 +145,13 @@
         return executorService;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.onap.policy.apex.context.test.utils.ConfigrationProvider#getDistributor(org.onap.policy.apex.model.basicmodel
+     * .concepts.AxArtifactKey)
+     */
     @Override
     public Distributor getDistributor(final AxArtifactKey key) {
         try {
@@ -115,20 +161,38 @@
         }
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getDistributor()
+     */
     @Override
     public Distributor getDistributor() {
         final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributor", "0.0.1");
         return getDistributor(distributorKey);
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getContextAlbum(org.onap.policy.apex.context.
+     * Distributor)
+     */
     @Override
     public ContextAlbum getContextAlbum(final Distributor distributor) {
         return getContextAlbum(distributor, Constants.L_TYPE_CONTEXT_ALBUM, Constants.getAxArtifactKeyArray());
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getContextAlbum(org.onap.policy.apex.context.
+     * Distributor, org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey,
+     * org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey[])
+     */
     @Override
     public ContextAlbum getContextAlbum(final Distributor distributor, final AxArtifactKey axContextAlbumKey,
-            final AxArtifactKey[] artifactKeys) {
+                    final AxArtifactKey[] artifactKeys) {
         final AxContextModel axContextModel = TestContextAlbumFactory.createMultiAlbumsContextModel();
         try {
             distributor.registerModel(axContextModel);
@@ -141,6 +205,11 @@
         }
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getContextAlbumInitValues()
+     */
     @Override
     public Map<String, Object> getContextAlbumInitValues() {
         final Map<String, Object> values = new HashMap<>();
@@ -150,27 +219,48 @@
         return values;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getAlbumModifier()
+     */
     @Override
     public AlbumModifier getAlbumModifier() {
         return lockType.getAlbumModifier();
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getLockType()
+     */
     @Override
     public LockType getLockType() {
         return lockType;
     }
 
-
+    /**
+     * Gets the thread factory name.
+     *
+     * @param jvmCount the jvm count
+     * @param testType the test type
+     * @return the thread factory name
+     */
     private String getThreadFactoryName(final int jvmCount, final String testType) {
         return jvmCount == 1 ? testType + ":TestConcurrentContextThread_0_"
-                : testType + ":TestConcurrentContextJVMThread_";
+                        : testType + ":TestConcurrentContextJVMThread_";
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#toString()
+     */
     @Override
     public String toString() {
         return "ConfigrationProviderImpl [testType=" + testType + ", jvmCount=" + jvmCount + ", threadCount="
-                + threadCount + ", loopSize=" + loopSize + ", albumSize=" + albumSize + ", lockType=" + lockType + "]";
+                        + threadCount + ", loopSize=" + loopSize + ", albumSize=" + albumSize + ", lockType=" + lockType
+                        + "]";
     }
 
-
 }
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/Constants.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/Constants.java
index 1185864..927876e 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/Constants.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/Constants.java
@@ -25,6 +25,9 @@
 import org.onap.policy.apex.context.test.concepts.TestPolicyContextItem;
 import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
 
+/**
+ * The Class Constants provides constants for context tests.
+ */
 public class Constants {
     public static final String MAP_CONTEXT_ALBUM = "MapContextAlbum";
     public static final String LONG_CONTEXT_ALBUM = "LongContextAlbum";
@@ -61,10 +64,18 @@
 
     private static final AxArtifactKey[] USED_ARTIFACT_STACK_ARRAY = new AxArtifactKey[] {KEY, KEY2, KEY3};
 
+    /**
+     * Gets the ax artifact key array.
+     *
+     * @return the ax artifact key array
+     */
     public static final AxArtifactKey[] getAxArtifactKeyArray() {
         return USED_ARTIFACT_STACK_ARRAY;
     }
 
+    /**
+     * Instantiates a new constants.
+     */
     private Constants() {}
 
 }
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/IntegrationThreadFactory.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/IntegrationThreadFactory.java
index d815c6b..486a93c 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/IntegrationThreadFactory.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/IntegrationThreadFactory.java
@@ -26,6 +26,9 @@
 import org.slf4j.ext.XLogger;
 import org.slf4j.ext.XLoggerFactory;
 
+/**
+ * A factory for creating IntegrationThread objects.
+ */
 public class IntegrationThreadFactory implements ThreadFactory {
     private static final XLogger LOGGER = XLoggerFactory.getXLogger(IntegrationThreadFactory.class);
 
@@ -34,10 +37,18 @@
 
     private final AtomicInteger counter = new AtomicInteger();
 
+    /**
+     * Instantiates a new integration thread factory.
+     *
+     * @param threadFactoryName the thread factory name
+     */
     public IntegrationThreadFactory(final String threadFactoryName) {
         this.threadFactoryName = threadFactoryName;
     }
 
+    /* (non-Javadoc)
+     * @see java.util.concurrent.ThreadFactory#newThread(java.lang.Runnable)
+     */
     @Override
     public Thread newThread(final Runnable runnable) {
         final Thread thread = new Thread(runnable);
@@ -45,5 +56,4 @@
         LOGGER.debug("started thread " + thread.getName());
         return thread;
     }
-
 }
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/NetworkUtils.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/NetworkUtils.java
index 8d2c892..9803840 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/NetworkUtils.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/NetworkUtils.java
@@ -27,8 +27,14 @@
 import java.util.Enumeration;
 import java.util.TreeSet;
 
+/**
+ * The Class NetworkUtils contains some utility functions for getting network information for context tests.
+ */
 public class NetworkUtils {
 
+    /**
+     * Instantiates a new network utils.
+     */
     private NetworkUtils() {}
 
     /**
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ZooKeeperServerServiceProvider.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ZooKeeperServerServiceProvider.java
index 654040d..301e8cc 100644
--- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ZooKeeperServerServiceProvider.java
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ZooKeeperServerServiceProvider.java
@@ -30,6 +30,9 @@
 import org.slf4j.ext.XLogger;
 import org.slf4j.ext.XLoggerFactory;
 
+/**
+ * The Class ZooKeeperServerServiceProvider provides a zookeeper service to a caller.
+ */
 public class ZooKeeperServerServiceProvider {
     private static final XLogger LOGGER = XLoggerFactory.getXLogger(ZooKeeperServerServiceProvider.class);
 
@@ -37,11 +40,24 @@
     private File zookeeperDirectory;
     private InetSocketAddress addr;
 
+    /**
+     * Instantiates a new zoo keeper server service provider.
+     *
+     * @param zookeeperDirectory the zookeeper directory
+     * @param addr the addr
+     */
     public ZooKeeperServerServiceProvider(final File zookeeperDirectory, final InetSocketAddress addr) {
         this.zookeeperDirectory = zookeeperDirectory;
         this.addr = addr;
     }
 
+    /**
+     * Instantiates a new zoo keeper server service provider.
+     *
+     * @param zookeeperDirectory the zookeeper directory
+     * @param addr the addr
+     * @param port the port
+     */
     public ZooKeeperServerServiceProvider(final File zookeeperDirectory, final String addr, final int port) {
         this.zookeeperDirectory = zookeeperDirectory;
         this.addr = new InetSocketAddress(addr, port);
@@ -69,5 +85,4 @@
             zookeeperFactory.shutdown();
         }
     }
-
 }
diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/package-info.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/package-info.java
new file mode 100755
index 0000000..2872d20
--- /dev/null
+++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/package-info.java
@@ -0,0 +1,27 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+/**
+ * Contains utilities for context tests.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+
+package org.onap.policy.apex.context.test.utils;
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/package-info.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/package-info.java
index 5c99f91..ac5224d 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/package-info.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/package-info.java
@@ -20,8 +20,8 @@
 
 /**
  * Defines the Apex engine Java API. The API is used to set up, control, send events to, and receive events from an APEX
- * engine. The {@link ApexEngine} interface is used to control the execution of a single APEX engine thread and to send
- * events to that APEX engine thread. The {@link EnEventListener} interface is used to listen for events being emitted
+ * engine. The ApexEngine interface is used to control the execution of a single APEX engine thread and to send
+ * events to that APEX engine thread. The EnEventListener interface is used to listen for events being emitted
  * by an APEX engine thread.
  *
  * @author Liam Fallon (liam.fallon@ericsson.com)
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/package-info.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/package-info.java
index 656ab49..880eb84 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/package-info.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/package-info.java
@@ -20,12 +20,12 @@
 
 /**
  * Provides context and facades for executing tasks, task selection logic, and state finalizer
- * logic. The public fields and methods of {@link TaskExecutionContext},
- * {@link TaskSelectionExecutionContext} and {@link StateFinalizerExecutionContext} are available to
+ * logic. The public fields and methods of TaskExecutionContext,
+ * TaskSelectionExecutionContext and StateFinalizerExecutionContext are available to
  * task logic, task selection logic, and state finalizer logic respectively when that logic is
  * executing in an executor plugin under the control of an APEX engine.
  *
- * The {@link AxStateFacade} and {@link AxTaskFacade} classes provide facades and convenience
+ * The AxStateFacade and AxTaskFacade classes provide facades and convenience
  * methods for state and task definition information for logic at execution time.
  *
  * @author Liam Fallon (liam.fallon@ericsson.com)
diff --git a/core/core-infrastructure/src/main/java/org/onap/policy/apex/core/infrastructure/messaging/util/MessagingUtils.java b/core/core-infrastructure/src/main/java/org/onap/policy/apex/core/infrastructure/messaging/util/MessagingUtils.java
index fb79d92..66edd2f 100644
--- a/core/core-infrastructure/src/main/java/org/onap/policy/apex/core/infrastructure/messaging/util/MessagingUtils.java
+++ b/core/core-infrastructure/src/main/java/org/onap/policy/apex/core/infrastructure/messaging/util/MessagingUtils.java
@@ -77,7 +77,7 @@
     /**
      * This method searches the availability of the port, if the requested port not available,this
      * method will increment the port number and check the availability of that port, this process
-     * will continue until it reaches max port range which is {@link MAX_PORT_RANGE}.
+     * will continue until it reaches max port range which is MAX_PORT_RANGE.
      *
      * @param port the first port to check
      * @return the port that was found
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/AADM/Stdin2StdoutJsonEvent.json b/examples/examples-aadm/src/main/resources/examples/config/AADM/Stdin2StdoutJsonEvent.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/AADM/Stdin2StdoutJsonEvent.json
rename to examples/examples-aadm/src/main/resources/examples/config/AADM/Stdin2StdoutJsonEvent.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/AADM/Stdin2StdoutXmlEvent.json b/examples/examples-aadm/src/main/resources/examples/config/AADM/Stdin2StdoutXmlEvent.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/AADM/Stdin2StdoutXmlEvent.json
rename to examples/examples-aadm/src/main/resources/examples/config/AADM/Stdin2StdoutXmlEvent.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/Adaptive/Stdin2StdoutAnomalyDetectionJsonEvent.json b/examples/examples-adaptive/src/main/resources/examples/config/Adaptive/Stdin2StdoutAnomalyDetectionJsonEvent.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/Adaptive/Stdin2StdoutAnomalyDetectionJsonEvent.json
rename to examples/examples-adaptive/src/main/resources/examples/config/Adaptive/Stdin2StdoutAnomalyDetectionJsonEvent.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/Adaptive/Stdin2StdoutAutoLearnJsonEvent.json b/examples/examples-adaptive/src/main/resources/examples/config/Adaptive/Stdin2StdoutAutoLearnJsonEvent.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/Adaptive/Stdin2StdoutAutoLearnJsonEvent.json
rename to examples/examples-adaptive/src/main/resources/examples/config/Adaptive/Stdin2StdoutAutoLearnJsonEvent.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/AnswerInitiationEvent.json b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/AnswerInitiationEvent.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/AnswerInitiationEvent.json
rename to examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/AnswerInitiationEvent.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTClient.json b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTClient.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTClient.json
rename to examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTClient.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTServer.json b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTServer.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTServer.json
rename to examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTServer.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html
rename to examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html
rename to examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Client.html b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Client.html
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Client.html
rename to examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Client.html
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Server.html b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Server.html
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Server.html
rename to examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Server.html
diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/AnswerInitiationEvents.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/AnswerInitiationEvents.adoc
index 98a876a..a6a3d58 100644
--- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/AnswerInitiationEvents.adoc
+++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/AnswerInitiationEvents.adoc
@@ -11,10 +11,10 @@
 // @author Sven van der Meer (sven.van.der.meer@ericsson.com)
 //
 
-== Initiation Events
+== Initiation Event
 
-.Initiation Events
+.Initiation Event
 [source,json,options="nowrap"]
 ----
-include::{adsite-examples-decisionmaker-dir}/main/resources/config/AnswerInitiationEvents.txt[Initiation Events]
+include::{adsite-examples-decisionmaker-dir}/main/resources/examples/config/DecisionMaker/AnswerInitiationEvent.json[Initiation Event]
 ----
\ No newline at end of file
diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTClient.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTClient.adoc
index 51d0139..74bbfb6 100644
--- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTClient.adoc
+++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTClient.adoc
@@ -16,5 +16,5 @@
 .Config REst Client
 [source,json,options="nowrap"]
 ----
-include::{adsite-examples-decisionmaker-dir}/main/resources/config/ApexConfigRESTClient.json[Config Rest Client]
+include::{adsite-examples-decisionmaker-dir}/main/resources/examples/config/DecisionMaker/ApexConfigRESTClient.json[Config Rest Client]
 ----
\ No newline at end of file
diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTServer.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTServer.adoc
index 2805119..89aa91b 100644
--- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTServer.adoc
+++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTServer.adoc
@@ -16,5 +16,5 @@
 .Config REST Server
 [source,json,options="nowrap"]
 ----
-include::{adsite-examples-decisionmaker-dir}/main/resources/config/ApexConfigRESTServer.json[Config REST Server]
+include::{adsite-examples-decisionmaker-dir}/main/resources/examples/config/DecisionMaker/ApexConfigRESTServer.json[Config REST Server]
 ----
\ No newline at end of file
diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Client.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Client.adoc
index ee96248..ee88f5f 100644
--- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Client.adoc
+++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Client.adoc
@@ -16,5 +16,5 @@
 .HTML Client, Extra Mode
 [source,html,options="nowrap"]
 ----
-include::{adsite-examples-decisionmaker-dir}/main/resources/html/MakeDecisionExtraMode_Client.html[HTML Client, Extra Mode]
+include::{adsite-examples-decisionmaker-dir}/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html[HTML Client, Extra Mode]
 ----
\ No newline at end of file
diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Server.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Server.adoc
index 035e855..5067316 100644
--- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Server.adoc
+++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Server.adoc
@@ -16,5 +16,5 @@
 .HTML Server, Extra Mode
 [source,html,options="nowrap"]
 ----
-include::{adsite-examples-decisionmaker-dir}/main/resources/html/MakeDecisionExtraMode_Server.html[HTML Server, Extra Mode]
+include::{adsite-examples-decisionmaker-dir}/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html[HTML Server, Extra Mode]
 ----
\ No newline at end of file
diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Client.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Client.adoc
index deab6a8..c3d1bd7 100644
--- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Client.adoc
+++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Client.adoc
@@ -16,5 +16,5 @@
 .HTML Client
 [source,html,options="nowrap"]
 ----
-include::{adsite-examples-decisionmaker-dir}/main/resources/html/MakeDecision_Client.html[HTML Client]
+include::{adsite-examples-decisionmaker-dir}/main/resources/examples/html/DecisionMaker/MakeDecision_Client.html[HTML Client]
 ----
\ No newline at end of file
diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Server.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Server.adoc
index 25e624a..f805d61 100644
--- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Server.adoc
+++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Server.adoc
@@ -16,5 +16,5 @@
 .HTML Server
 [source,html,options="nowrap"]
 ----
-include::{adsite-examples-decisionmaker-dir}/main/resources/html/MakeDecision_Server.html[HTML Server]
+include::{adsite-examples-decisionmaker-dir}/main/resources/examples/html/DecisionMaker/MakeDecision_Server.html[HTML Server]
 ----
\ No newline at end of file
diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/dockerfile.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/dockerfile.adoc
deleted file mode 100644
index 14e40b2..0000000
--- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/dockerfile.adoc
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// ============LICENSE_START=======================================================
-//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-// ================================================================================
-// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-// 
-// SPDX-License-Identifier: CC-BY-4.0
-// ============LICENSE_END=========================================================
-//
-// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
-//
-
-== Dockerfile
-
-.Dockerfile
-[source,bash,options="nowrap"]
-----
-include::{adsite-examples-decisionmaker-dir}/../Dockerfile[Dockerfile]
-----
\ No newline at end of file
diff --git a/examples/examples-decisionmaker/src/site/asciidoc/dockerfile.adoc b/examples/examples-decisionmaker/src/site/asciidoc/dockerfile.adoc
deleted file mode 100644
index be86a74..0000000
--- a/examples/examples-decisionmaker/src/site/asciidoc/dockerfile.adoc
+++ /dev/null
@@ -1,14 +0,0 @@
-//
-// ============LICENSE_START=======================================================
-//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-// ================================================================================
-// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-// 
-// SPDX-License-Identifier: CC-BY-4.0
-// ============LICENSE_END=========================================================
-//
-// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
-//
-
-include::{adsite-examples-decisionmaker-dir}/site-docs/adoc/fragments/dockerfile.adoc[]
diff --git a/examples/examples-decisionmaker/src/site/site.xml b/examples/examples-decisionmaker/src/site/site.xml
index 63631c8..d65f22e 100644
--- a/examples/examples-decisionmaker/src/site/site.xml
+++ b/examples/examples-decisionmaker/src/site/site.xml
@@ -33,8 +33,6 @@
                 <item href="RandomAnswerTask.html" name="Task Logic: Random Answer" />
                 <item href="RoundRobinAnswerTask.html" name="Task Logic: RoundRobin Answer" />
             </item>
-            <item href="dockerfile.html" name="Dockerfile" />
-
         </menu>
         <menu ref="reports" inherit="top" />
         <menu ref="modules" />
diff --git a/examples/examples-myfirstpolicy/pom.xml b/examples/examples-myfirstpolicy/pom.xml
index e3e6644..cc56d0b 100644
--- a/examples/examples-myfirstpolicy/pom.xml
+++ b/examples/examples-myfirstpolicy/pom.xml
@@ -124,6 +124,36 @@
                     <url>${apex.adsite.prefix}/modules/${project.parent.artifactId}/${project.artifactId}/</url>
                 </site>
             </distributionManagement>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <version>3.0.2</version>
+                        <executions>
+                            <execution>
+                                <id>copy-domain-mfp-images</id>
+                                <phase>initialize</phase>
+                                <goals>
+                                    <goal>copy-resources</goal>
+                                </goals>
+                                <configuration>
+                                    <resources>
+                                        <resource>
+                                            <directory>${project.basedir}/src/site-docs/adoc/resources/images</directory>
+                                            <includes>
+                                                <include>**/*.jpg</include>
+                                                <include>**/*.png</include>
+                                            </includes>
+                                        </resource>
+                                    </resources>
+                                    <outputDirectory>${project.build.directory}/site/images</outputDirectory>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
         </profile>
     </profiles>
 </project>
\ No newline at end of file
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigFile2StdoutJsonEvent.json b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigFile2StdoutJsonEvent.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigFile2StdoutJsonEvent.json
rename to examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigFile2StdoutJsonEvent.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigStdin2StdoutJsonEvent.json b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigStdin2StdoutJsonEvent.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigStdin2StdoutJsonEvent.json
rename to examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigStdin2StdoutJsonEvent.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigWs2WsServerJsonEvent.json b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigWs2WsServerJsonEvent.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigWs2WsServerJsonEvent.json
rename to examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigWs2WsServerJsonEvent.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigFile2StdoutJsonEvent.json b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigFile2StdoutJsonEvent.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigFile2StdoutJsonEvent.json
rename to examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigFile2StdoutJsonEvent.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigStdin2StdoutJsonEvent.json b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigStdin2StdoutJsonEvent.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigStdin2StdoutJsonEvent.json
rename to examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigStdin2StdoutJsonEvent.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigWs2WsServerJsonEvent.json b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigWs2WsServerJsonEvent.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigWs2WsServerJsonEvent.json
rename to examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigWs2WsServerJsonEvent.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/ApexConfig.json b/examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/ApexConfig.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/ApexConfig.json
rename to examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/ApexConfig.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent0.json b/examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/VCPEInitiationEvent0.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent0.json
rename to examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/VCPEInitiationEvent0.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent1.json b/examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/VCPEInitiationEvent1.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent1.json
rename to examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/VCPEInitiationEvent1.json
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent2.json b/examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/VCPEInitiationEvent2.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent2.json
rename to examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/VCPEInitiationEvent2.json
diff --git a/examples/examples-onap-vcpe/src/site-docs/adoc/fragments/dockerfile.adoc b/examples/examples-onap-vcpe/src/site-docs/adoc/fragments/dockerfile.adoc
deleted file mode 100644
index 8a892f2..0000000
--- a/examples/examples-onap-vcpe/src/site-docs/adoc/fragments/dockerfile.adoc
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// ============LICENSE_START=======================================================
-//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-// ================================================================================
-// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-// 
-// SPDX-License-Identifier: CC-BY-4.0
-// ============LICENSE_END=========================================================
-//
-// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
-//
-
-== Dockerfile
-
-.Dockerfile
-[source,bash,options="nowrap"]
-----
-include::{apex-domains-onap-vcpe-dir}/../Dockerfile[Dockerfile]
-----
diff --git a/examples/examples-onap-vcpe/src/site/site.xml b/examples/examples-onap-vcpe/src/site/site.xml
index 524ac79..f9808e6 100644
--- a/examples/examples-onap-vcpe/src/site/site.xml
+++ b/examples/examples-onap-vcpe/src/site/site.xml
@@ -16,7 +16,6 @@
 <project name="APEX Examples ONAP vCPE">
     <body>
         <menu name="APEX Examples ONAP vCPE">
-            <item href="dockerfile.html" name="Dockerfile" />
         </menu>
         <menu ref="reports" inherit="top" />
         <menu ref="modules" />
diff --git a/examples/examples-pcvs/pom.xml b/examples/examples-pcvs/pom.xml
index 2ac7702..540f1a1 100644
--- a/examples/examples-pcvs/pom.xml
+++ b/examples/examples-pcvs/pom.xml
@@ -125,6 +125,36 @@
                     <url>${apex.adsite.prefix}/modules/${project.parent.artifactId}/${project.artifactId}/</url>
                 </site>
             </distributionManagement>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <version>3.0.2</version>
+                        <executions>
+                            <execution>
+                                <id>copy-domain-pcvs-images</id>
+                                <phase>initialize</phase>
+                                <goals>
+                                    <goal>copy-resources</goal>
+                                </goals>
+                                <configuration>
+                                    <resources>
+                                        <resource>
+                                            <directory>${project.basedir}/src/site-docs/adoc/resources/images</directory>
+                                            <includes>
+                                                <include>**/*.jpg</include>
+                                                <include>**/*.png</include>
+                                            </includes>
+                                        </resource>
+                                    </resources>
+                                    <outputDirectory>${project.build.directory}/site/images</outputDirectory>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
         </profile>
     </profiles>
 </project>
\ No newline at end of file
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-ctxt.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-ctxt.adoc
index 6d71c6f..608d585 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-ctxt.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-ctxt.adoc
@@ -19,18 +19,18 @@
 .AVRO Schema Edges
 [source,json,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/avro/topology-edges.avsc[AVRO Schema Edges]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/avro/topology-edges.avsc[AVRO Schema Edges]
 ----
 
 
 .AVRO Schema Nodes
 [source,json,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/avro/topology-nodes.avsc[AVRO Schema Nodes]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/avro/topology-nodes.avsc[AVRO Schema Nodes]
 ----
 
 .AVRO Schema Customers
 [source,json,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/avro/customers.avsc[AVRO Schema Customers]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/avro/customers.avsc[AVRO Schema Customers]
 ----
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-internal.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-internal.adoc
index 2982204..8133fc4 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-internal.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-internal.adoc
@@ -21,12 +21,12 @@
 .AVRO Schema Situation
 [source,json,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/avro/situation.avsc[AVRO Schema Situation]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/avro/situation.avsc[AVRO Schema Situation]
 ----
 
 
 .AVRO Schema Decision
 [source,json,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/avro/decision.avsc[AVRO Schema Decision]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/avro/decision.avsc[AVRO Schema Decision]
 ----
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-trigger.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-trigger.adoc
index 255cb9b..0519729 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-trigger.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-trigger.adoc
@@ -20,5 +20,5 @@
 .AVRO Schema Link Status
 [source,json,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/avro/link-status.avsc[AVRO Schema Link Status]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/avro/link-status.avsc[AVRO Schema Link Status]
 ----
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/cli-spec.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/cli-spec.adoc
index 28ad0c6..96d1b0c 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/cli-spec.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/cli-spec.adoc
@@ -20,6 +20,6 @@
 .APEX VPN SLA Policy Specification
 [source,javascript,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/vpnsla.apex[APEX VPN SLA Policy Specification]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/vpnsla.apex[APEX VPN SLA Policy Specification]
 ----
 
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-customer.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-customer.adoc
index 0463507..42bd6eb 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-customer.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-customer.adoc
@@ -18,6 +18,6 @@
 .JS Logic Customer Context
 [source,javascript,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/ctxt-customer.js[JS Logic Customer Context]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/ctxt-customer.js[JS Logic Customer Context]
 ----
 
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-edges.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-edges.adoc
index b64ca3e..ad70df5 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-edges.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-edges.adoc
@@ -18,5 +18,5 @@
 .JS Logic Edge Context
 [source,javascript,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/ctxt-edges.js[JS Logic Edge Context]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/ctxt-edges.js[JS Logic Edge Context]
 ----
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-nodes.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-nodes.adoc
index f8ff014..ba8d3f7 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-nodes.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-nodes.adoc
@@ -18,5 +18,5 @@
 .JS Logic Node Context
 [source,javascript,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/ctxt-nodes.js[JS Logic Node Context]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/ctxt-nodes.js[JS Logic Node Context]
 ----
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-act.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-act.adoc
index 6e0ca0c..6dc9e5c 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-act.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-act.adoc
@@ -19,5 +19,5 @@
 .JS Logic Policy Act State
 [source,javascript,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-act.js[JS Logic Policy Act State]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-act.js[JS Logic Policy Act State]
 ----
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-none.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-none.adoc
index f35d553..e5e8f01 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-none.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-none.adoc
@@ -16,5 +16,5 @@
 .JS Logic Policy Decide State - None
 [source,javascript,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-decide-none.js[JS Logic Policy Decide State - None]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-decide-none.js[JS Logic Policy Decide State - None]
 ----
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-priority.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-priority.adoc
index d04e8c2..f2373af 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-priority.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-priority.adoc
@@ -16,5 +16,5 @@
 .JS Logic Policy Decide State - Priority
 [source,javascript,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-decide-priority.js[JS Logic Policy Decide State - Priority]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-decide-priority.js[JS Logic Policy Decide State - Priority]
 ----
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-sla.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-sla.adoc
index cb3d9cb..8f4c2df 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-sla.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-sla.adoc
@@ -16,5 +16,5 @@
 .JS Logic Policy Decide State - SLA
 [source,javascript,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-decide-sla.js[JS Logic Policy Decide State - SLA]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-decide-sla.js[JS Logic Policy Decide State - SLA]
 ----
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-solved.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-solved.adoc
index 8cf601c..5381533 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-solved.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-solved.adoc
@@ -16,5 +16,5 @@
 .JS Logic Policy Decide State - Solved
 [source,javascript,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-decide-solved.js[JS Logic Policy Decide State - Solved]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-decide-solved.js[JS Logic Policy Decide State - Solved]
 ----
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide.adoc
index 0b5b0b8..7b4e9dd 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide.adoc
@@ -20,7 +20,7 @@
 .JS Logic Policy Decide State - TSL
 [source,javascript,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/tsl-decide.js[JS Logic Policy Decide State - TSL]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/tsl-decide.js[JS Logic Policy Decide State - TSL]
 ----
 
 The actual task logic are then `none`, `solved`, `sla`, and `priority`.
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-establish.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-establish.adoc
index 9bf7473..0e6e7e0 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-establish.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-establish.adoc
@@ -24,6 +24,6 @@
 .JS Logic Policy Establish State
 [source,javascript,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-establish.js[JS Logic Policy Establish State]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-establish.js[JS Logic Policy Establish State]
 ----
 
diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-match.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-match.adoc
index be4bd08..de0baab 100644
--- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-match.adoc
+++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-match.adoc
@@ -21,5 +21,5 @@
 .JS Logic Policy Match State
 [source,javascript,options="nowrap"]
 ----
-include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-match.js[JS Logic Policy Match State]
+include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-match.js[JS Logic Policy Match State]
 ----
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/Periodic/ApexConfigPeriodic.json b/examples/examples-periodic/src/main/resources/examples/config/Periodic/ApexConfigPeriodic.json
similarity index 100%
rename from packages/apex-pdp-package-full/src/main/package/examples/config/Periodic/ApexConfigPeriodic.json
rename to examples/examples-periodic/src/main/resources/examples/config/Periodic/ApexConfigPeriodic.json
diff --git a/examples/examples-periodic/src/site-docs/adoc/fragments/apex-configuration.adoc b/examples/examples-periodic/src/site-docs/adoc/fragments/apex-configuration.adoc
index 6121498..5540f15 100644
--- a/examples/examples-periodic/src/site-docs/adoc/fragments/apex-configuration.adoc
+++ b/examples/examples-periodic/src/site-docs/adoc/fragments/apex-configuration.adoc
@@ -16,5 +16,5 @@
 .APEX configuration
 [source,json,options="nowrap"]
 ----
-include::{adsite-examples-periodic-dir}/main/resources/config/ApexConfigPeriodic.json[APEX configuration]
+include::{adsite-examples-periodic-dir}/main/resources/examples/config/Periodic/ApexConfigPeriodic.json[APEX configuration]
 ----
diff --git a/examples/examples-periodic/src/site-docs/adoc/fragments/dockerfile.adoc b/examples/examples-periodic/src/site-docs/adoc/fragments/dockerfile.adoc
deleted file mode 100644
index 3ee66b3..0000000
--- a/examples/examples-periodic/src/site-docs/adoc/fragments/dockerfile.adoc
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// ============LICENSE_START=======================================================
-//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-// ================================================================================
-// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-// 
-// SPDX-License-Identifier: CC-BY-4.0
-// ============LICENSE_END=========================================================
-//
-// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
-//
-
-== Dockerfile
-
-.Dockerfile
-[source,bash,options="nowrap"]
-----
-include::{adsite-examples-periodic-dir}/../Dockerfile[Dockerfile]
-----
diff --git a/examples/examples-periodic/src/site/asciidoc/dockerfile.adoc b/examples/examples-periodic/src/site/asciidoc/dockerfile.adoc
deleted file mode 100644
index ba5e19b..0000000
--- a/examples/examples-periodic/src/site/asciidoc/dockerfile.adoc
+++ /dev/null
@@ -1,14 +0,0 @@
-//
-// ============LICENSE_START=======================================================
-//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-// ================================================================================
-// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-// 
-// SPDX-License-Identifier: CC-BY-4.0
-// ============LICENSE_END=========================================================
-//
-// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
-//
-
-include::{adsite-examples-periodic-dir}/site-docs/adoc/fragments/dockerfile.adoc[]
diff --git a/examples/examples-periodic/src/site/site.xml b/examples/examples-periodic/src/site/site.xml
index fc2b846..56e2bda 100644
--- a/examples/examples-periodic/src/site/site.xml
+++ b/examples/examples-periodic/src/site/site.xml
@@ -20,7 +20,6 @@
             <item href="apex-model.html" name="APEX Model (Policy)" />
             <item href="logic-task-output.html" name="Logic: Output Task" />
             <item href="logic-task-periodic.html" name="Logic: Periodic Task" />
-            <item href="dockerfile.html" name="Dockerfile" />
         </menu>
         <menu ref="reports" inherit="top" />
         <menu ref="modules" />
diff --git a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxArtifactKey.java b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxArtifactKey.java
index 1f906ea..7e39e58 100644
--- a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxArtifactKey.java
+++ b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxArtifactKey.java
@@ -39,7 +39,7 @@
  * must have an {@link AxArtifactKey} to identify it. Concepts that are wholly contained in another concept are
  * identified using a {@link AxReferenceKey} key.
  * 
- * <p>Key validation checks that the name and version fields match the {@link NAME_REGEXP} and {@link VERSION_REGEXP}
+ * <p>Key validation checks that the name and version fields match the NAME_REGEXP and VERSION_REGEXP
  * regular expressions respectively.
  */
 @Embeddable
@@ -94,7 +94,7 @@
     /**
      * Constructor to create a key using the key and version from the specified key ID.
      *
-     * @param id the key ID in a format that respects the {@link KEY_ID_REGEXP}
+     * @param id the key ID in a format that respects the KEY_ID_REGEXP
      */
     public AxArtifactKey(final String id) {
         Assertions.argumentNotNull(id, "id may not be null");
diff --git a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxReferenceKey.java b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxReferenceKey.java
index 55ea95c..57196ad 100644
--- a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxReferenceKey.java
+++ b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxReferenceKey.java
@@ -47,9 +47,9 @@
  * <p>If a reference key's parent is itself a reference key, then the parent's local name must be set in the reference
  * key. If the parent is a first order concept, then the parent's local name in the key will be set to NULL.
  * 
- * <p>Key validation checks that the parent name and parent version fields match the {@link NAME_REGEXP} and
- * {@link VERSION_REGEXP} regular expressions respectively and that the local name fields match the
- * {@link LOCAL_NAME_REGEXP} regular expression.
+ * <p>Key validation checks that the parent name and parent version fields match the NAME_REGEXP and
+ * VERSION_REGEXP regular expressions respectively and that the local name fields match the
+ * LOCAL_NAME_REGEXP regular expression.
  */
 @Embeddable
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -203,7 +203,7 @@
      * Constructor to create a key from the specified key ID.
      *
      * @param id
-     *        the key ID in a format that respects the {@link KEY_ID_REGEXP}
+     *        the key ID in a format that respects the KEY_ID_REGEXP
      */
     public AxReferenceKey(final String id) {
         final String conditionedId = Assertions.validateStringParameter("id", id, REFERENCE_KEY_ID_REGEXP);
diff --git a/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java b/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java
index 27f9b8b..3255566 100644
--- a/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java
+++ b/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java
@@ -62,7 +62,7 @@
  * read objects from the context album.
  * <p>
  * Validation checks that the album key and the context schema key are not null and that the scope field is not
- * undefined and matches the regular expression {@link SCOPE_REGEXP}.
+ * undefined and matches the regular expression SCOPE_REGEXP.
  */
 @Entity
 @Table(name = "AxContextAlbum")
@@ -113,7 +113,7 @@
 
     /**
      * The default constructor creates a context album with a null artifact key. The scope of the context album is set
-     * as {@link SCOPE_UNDEFINED}, the album is writable, and the artifact key of the context schema is set to the null
+     * as SCOPE_UNDEFINED, the album is writable, and the artifact key of the context schema is set to the null
      * artifact key.
      */
     public AxContextAlbum() {
@@ -134,7 +134,7 @@
 
     /**
      * The keyed constructor creates a context album with the specified artifact key. The scope of the context album is
-     * set as {@link SCOPE_UNDEFINED}, the album is writable, and the artifact key of the context schema is set to the
+     * set as SCOPE_UNDEFINED, the album is writable, and the artifact key of the context schema is set to the
      * null artifact key.
      *
      * @param key the key of the context album
@@ -147,7 +147,7 @@
      * Constructor that sets all the fields of the context album.
      *
      * @param key the key of the context album
-     * @param scope the scope field, must match the regular expression {@link SCOPE_REGEXP}
+     * @param scope the scope field, must match the regular expression SCOPE_REGEXP
      * @param isWritable specifies whether the context album will be writable or not
      * @param itemSchema the artifact key of the context schema to use for this context album
      */
diff --git a/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java b/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java
index bf8289e..87c8937 100644
--- a/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java
+++ b/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java
@@ -58,7 +58,7 @@
  * {@link AxContextSchema} being defined as @code cell} objects.
  * <p>
  * Validation checks that the schema key is not null. It also checks that the schema flavour is defined and matches the
- * regular expression {@link SCHEMA_FLAVOUR_REGEXP}. Finally, validation checks that the defined schema is not a blank
+ * regular expression SCHEMA_FLAVOUR_REGEXP. Finally, validation checks that the defined schema is not a blank
  * or empty string.
  */
 @Entity
@@ -100,7 +100,7 @@
 
     /**
      * The default constructor creates a context schema with a null artifact key. The flavour of the context album is
-     * set as {@link SCHEMA_FLAVOUR_UNDEFINED} and the schema itself is defined as an empty string.
+     * set as SCHEMA_FLAVOUR_UNDEFINED and the schema itself is defined as an empty string.
      */
     public AxContextSchema() {
         this(new AxArtifactKey());
@@ -118,7 +118,7 @@
 
     /**
      * The key constructor creates a context schema with the given artifact key. The flavour of the context album is set
-     * as {@link SCHEMA_FLAVOUR_UNDEFINED} and the schema itself is defined as an empty string.
+     * as SCHEMA_FLAVOUR_UNDEFINED and the schema itself is defined as an empty string.
      *
      * @param key the key
      */
diff --git a/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/json/package-info.java b/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/json/package-info.java
new file mode 100755
index 0000000..f9d1304
--- /dev/null
+++ b/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/json/package-info.java
@@ -0,0 +1,26 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+/**
+ * Provides a utility class for reading JSON streams.
+ * 
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+package org.onap.policy.apex.model.utilities.json;
diff --git a/packages/apex-pdp-docker/pom.xml b/packages/apex-pdp-docker/pom.xml
index 5bc27cb..ac3994f 100644
--- a/packages/apex-pdp-docker/pom.xml
+++ b/packages/apex-pdp-docker/pom.xml
@@ -114,6 +114,9 @@
                     <name>apexSite</name>
                 </property>
             </activation>
+            <properties>
+                <adsite-packages-docker-dir>${project.basedir}/src</adsite-packages-docker-dir>
+            </properties>
             <distributionManagement>
                 <site>
                     <id>${project.artifactId}-site</id>
diff --git a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-formatter-profile.adoc b/packages/apex-pdp-docker/src/site-docs/adoc/fragments/dockerfile.adoc
old mode 100644
new mode 100755
similarity index 78%
rename from src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-formatter-profile.adoc
rename to packages/apex-pdp-docker/src/site-docs/adoc/fragments/dockerfile.adoc
index dad2701..ec5ae9a
--- a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-formatter-profile.adoc
+++ b/packages/apex-pdp-docker/src/site-docs/adoc/fragments/dockerfile.adoc
@@ -11,7 +11,10 @@
 // @author Sven van der Meer (sven.van.der.meer@ericsson.com)
 //
 
-[source%nowrap,xml,subs="attributes+"]
+== APEX Dockerfile
+
+.APEX Dockerfile
+[source%nowrap,sh,numbered,subs="attributes+"]
 ----
-include::{apex-main-dir}/eclipse/ApexFormatterProfile.xml[]
-----
\ No newline at end of file
+include::{adsite-packages-docker-dir}/main/docker/Dockerfile[APEX Dockerfile]
+----
diff --git a/examples/examples-onap-vcpe/src/site/asciidoc/dockerfile.adoc b/packages/apex-pdp-docker/src/site/asciidoc/dockerfile.adoc
old mode 100644
new mode 100755
similarity index 90%
rename from examples/examples-onap-vcpe/src/site/asciidoc/dockerfile.adoc
rename to packages/apex-pdp-docker/src/site/asciidoc/dockerfile.adoc
index 47e8a80..5c3ffb5
--- a/examples/examples-onap-vcpe/src/site/asciidoc/dockerfile.adoc
+++ b/packages/apex-pdp-docker/src/site/asciidoc/dockerfile.adoc
@@ -11,4 +11,4 @@
 // @author Sven van der Meer (sven.van.der.meer@ericsson.com)
 //
 
-include::{apex-domains-onap-vcpe-dir}/site-docs/adoc/fragments/dockerfile.adoc[]
+include::{adsite-packages-docker-dir}/site-docs/adoc/fragments/dockerfile.adoc[]
diff --git a/packages/apex-pdp-docker/src/site/site.xml b/packages/apex-pdp-docker/src/site/site.xml
index 7bf7f44..ee59d8a 100644
--- a/packages/apex-pdp-docker/src/site/site.xml
+++ b/packages/apex-pdp-docker/src/site/site.xml
@@ -16,6 +16,7 @@
 <project name="APEX Packages Docker">
     <body>
         <menu name="APEX Packages Docker">
+            <item href="dockerfile.html" name="APEX Dockerfile" />
         </menu>
         <menu ref="reports" inherit="top" />
         <menu ref="modules" />
diff --git a/packages/apex-pdp-package-full/pom.xml b/packages/apex-pdp-package-full/pom.xml
index ceda3ad..65520e8 100644
--- a/packages/apex-pdp-package-full/pom.xml
+++ b/packages/apex-pdp-package-full/pom.xml
@@ -41,6 +41,32 @@
             <version>${project.version}</version>
         </dependency>
 
+        <!-- Client Servlet applications -->
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.client</groupId>
+            <artifactId>client-full</artifactId>
+            <type>war</type>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.client</groupId>
+            <artifactId>client-editor</artifactId>
+            <type>war</type>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.client</groupId>
+            <artifactId>client-deployment</artifactId>
+            <type>war</type>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.client</groupId>
+            <artifactId>client-monitoring</artifactId>
+            <type>war</type>
+            <version>${project.version}</version>
+        </dependency>
+        
         <!-- Plugins for Context Distribution -->
         <dependency>
             <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-distribution</groupId>
@@ -161,7 +187,19 @@
             <artifactId>cli-editor</artifactId>
             <version>${project.version}</version>
         </dependency>
-
+        
+        <!-- Tools -->
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.tools</groupId>
+            <artifactId>simple-wsclient</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.tools</groupId>
+            <artifactId>model-generator</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        
         <!-- Test Data used by examples -->
         <dependency>
             <groupId>org.onap.policy.apex-pdp.context</groupId>
@@ -323,11 +361,70 @@
                                     <outputDirectory>${project.build.directory}/etc</outputDirectory>
                                     <includes>/readme_examples-servlet.txt</includes>
                                 </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.onap.policy.apex-pdp.tools</groupId>
+                                    <artifactId>tools-common</artifactId>
+                                    <version>${project.version}</version>
+                                    <type>jar</type>
+                                    <overWrite>false</overWrite>
+                                    <outputDirectory>${project.build.directory}/etc</outputDirectory>
+                                    <includes>/app-version.txt</includes>
+                                </artifactItem>
                             </artifactItems>
                             <overWriteReleases>true</overWriteReleases>
                             <overWriteSnapshots>true</overWriteSnapshots>
                         </configuration>
                     </execution>
+                    <execution>
+                        <id>copy-fat-jars</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>copy</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>org.onap.policy.apex-pdp.tools</groupId>
+                                    <artifactId>simple-wsclient</artifactId>
+                                    <version>${project.version}</version>
+                                    <type>jar</type>
+                                    <classifier>jar-with-dependencies</classifier>
+                                    <outputDirectory>${project.build.directory}/lib/applications</outputDirectory>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.onap.policy.apex-pdp.client</groupId>
+                                    <artifactId>client-monitoring</artifactId>
+                                    <version>${project.version}</version>
+                                    <classifier>monitoring</classifier>
+                                    <outputDirectory>${project.build.directory}/lib/applications</outputDirectory>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.onap.policy.apex-pdp.client</groupId>
+                                    <artifactId>client-editor</artifactId>
+                                    <version>${project.version}</version>
+                                    <classifier>editor</classifier>
+                                    <outputDirectory>${project.build.directory}/lib/applications</outputDirectory>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.onap.policy.apex-pdp.client</groupId>
+                                    <artifactId>client-deployment</artifactId>
+                                    <version>${project.version}</version>
+                                    <classifier>deployment</classifier>
+                                    <outputDirectory>${project.build.directory}/lib/applications</outputDirectory>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.onap.policy.apex-pdp.client</groupId>
+                                    <artifactId>client-full</artifactId>
+                                    <version>${project.version}</version>
+                                    <classifier>full</classifier>
+                                    <outputDirectory>${project.build.directory}/lib/applications</outputDirectory>
+                                </artifactItem>
+                            </artifactItems>
+                            <overWriteReleases>true</overWriteReleases>
+                            <overWriteSnapshots>true</overWriteSnapshots>
+                        </configuration>
+                    </execution>
+
                 </executions>
             </plugin>
  
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/docker/base/base.Dockerfile b/packages/apex-pdp-package-full/src/main/package/examples/docker/base/base.Dockerfile
deleted file mode 100644
index 4872f55..0000000
--- a/packages/apex-pdp-package-full/src/main/package/examples/docker/base/base.Dockerfile
+++ /dev/null
@@ -1,48 +0,0 @@
-#-------------------------------------------------------------------------------
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# 
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-#-------------------------------------------------------------------------------
-
-#
-# Docker file to build an image that runs APEX on Java 8 in Ubuntu
-#
-# apex/base:0.6.0
-FROM ubuntu:16.04
-MAINTAINER John Keeney John.Keeney@ericsson.com
-
-RUN apt-get update && \
-	apt-get upgrade -y && \
-	apt-get install -y software-properties-common && \
-	add-apt-repository ppa:webupd8team/java -y && \
-	apt-get update && \
-	echo oracle-javax8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections && \
-	apt-get install -y oracle-java8-installer && \
-	rm -rf /var/cache/oracle-jdk8-installer && \
-	apt-get clean
-
-RUN mkdir /packages
-COPY apex-pdp-package-full-2.0.0-SNAPSHOT.deb /packages
-RUN dpkg -i packages/apex-pdp-package-full-2.0.0-SNAPSHOT.deb  && \
-	rm /packages/apex-pdp-package-full-2.0.0-SNAPSHOT.deb
-
-ENV PATH /opt/ericsson/apex/apex/bin:$PATH
-
-RUN  apt-get clean
-
-RUN chown -R apexuser:apexuser /home/apexuser/*
-WORKDIR /home/apexuser
diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat
index 5aba497..c1f7145 100644
--- a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat
+++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat
@@ -17,13 +17,12 @@
 :: ============LICENSE_END=========================================================
 
 ::
-:: Script to run APEX Applications
-:: Call -h for help
+:: Script to run APEX Applications, call with '-h' for help
 :: - adding a new app means to add a command to APEX_APP_MAP and a description to APEX_APP_DESCR_MAP using same/unique key
 ::
 :: @package    org.onap.policy.apex
 :: @author     Sven van der Meer <sven.van.der.meer@ericsson.com>
-:: @version    v0.7.0
+:: @version    v2.0.0
 
 ::
 :: DO NOT CHANGE CODE BELOW, unless you know what you are doing
@@ -72,16 +71,16 @@
 
 :: array of applications with name=command
 :: declare -A APEX_APP_MAP
-set APEX_APP_MAP[ws-console]=java -jar %APEX_HOME%\lib\applications\apex-apps.wsclients-simple-%_VERSION%-jar-with-dependencies.jar -c
-set APEX_APP_MAP[ws-echo]=java -jar %APEX_HOME%\lib\applications\apex-apps.wsclients-simple-%_VERSION%-jar-with-dependencies.jar
-set APEX_APP_MAP[tpl-event-json]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.apps.generators.model.model2event.Application
-set APEX_APP_MAP[model-2-cli]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.apps.generators.model.model2cli.Application
-set APEX_APP_MAP[rest-editor]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\apex-services.client-editor-%_VERSION%-editor.jar
+set APEX_APP_MAP[ws-console]=java -jar %APEX_HOME%\lib\applications\simple-wsclient-%_VERSION%-jar-with-dependencies.jar -c
+set APEX_APP_MAP[ws-echo]=java -jar %APEX_HOME%\lib\applications\simple-wsclient-%_VERSION%-jar-with-dependencies.jar
+set APEX_APP_MAP[tpl-event-json]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.tools.model.generator.model2event.Application
+set APEX_APP_MAP[model-2-cli]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.tools.model.generator.model2cli.Application
+set APEX_APP_MAP[rest-editor]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\client-editor-%_VERSION%-editor.jar
 set APEX_APP_MAP[cli-editor]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.auth.clieditor.ApexCLIEditorMain
 set APEX_APP_MAP[engine]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.service.engine.main.ApexMain
-set APEX_APP_MAP[eng-deployment]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\apex-services.client-deployment-%_VERSION%-deployment.jar
-set APEX_APP_MAP[eng-monitoring]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\apex-services.client-monitoring-%_VERSION%-monitoring.jar
-set APEX_APP_MAP[full-client]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\apex-services.client-full-%_VERSION%-full.jar
+set APEX_APP_MAP[eng-deployment]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\client-deployment-%_VERSION%-deployment.jar
+set APEX_APP_MAP[eng-monitoring]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\client-monitoring-%_VERSION%-monitoring.jar
+set APEX_APP_MAP[full-client]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\client-full-%_VERSION%-full.jar
 
 :: array of applications with name=description
 :: declare -A APEX_APP_DESCR_MAP
diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh
index c039742..d0e3f2e 100755
--- a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh
+++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh
@@ -19,6 +19,15 @@
 # SPDX-License-Identifier: Apache-2.0
 # ============LICENSE_END=========================================================
 #-------------------------------------------------------------------------------
+##
+## Script to run APEX Applications, call with '-h' for help
+## - requires BASH with associative arrays, bash of at least version 4
+## - for BASH examples with arrays see for instance: http://www.artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/
+## - adding a new app means to add a command to APEX_APP_MAP and a description to APEX_APP_DESCR_MAP using same/unique key
+##
+## @package    org.onap.policy.apex
+## @author     Sven van der Meer <sven.van.der.meer@ericsson.com>
+## @version    v2.0.0
 
 ##
 ## DO NOT CHANGE CODE BELOW, unless you know what you are doing
@@ -27,7 +36,7 @@
 
 if [ -z $APEX_HOME ]
 then
-    APEX_HOME="/opt/app/policy/apex-pdp"
+    APEX_HOME="/opt/app/policy/apex-pdp/apex-pdp"
 fi
 
 if [ ! -d $APEX_HOME ]
@@ -71,16 +80,16 @@
 
 ## array of applications with name=command
 declare -A APEX_APP_MAP
-APEX_APP_MAP["ws-console"]="java -jar $APEX_HOME/lib/applications/apex-apps.wsclients-simple-$_version-jar-with-dependencies.jar -c"
-APEX_APP_MAP["ws-echo"]="java -jar $APEX_HOME/lib/applications/apex-apps.wsclients-simple-$_version-jar-with-dependencies.jar"
-APEX_APP_MAP["tpl-event-json"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.apps.generators.model.model2event.Application"
-APEX_APP_MAP["model-2-cli"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.apps.generators.model.model2cli.Application"
-APEX_APP_MAP["rest-editor"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/apex-services.client-editor-$_version-editor.jar"
+APEX_APP_MAP["ws-console"]="java -jar $APEX_HOME/lib/applications/simple-wsclient-$_version-jar-with-dependencies.jar -c"
+APEX_APP_MAP["ws-echo"]="java -jar $APEX_HOME/lib/applications/simple-wsclient-$_version-jar-with-dependencies.jar"
+APEX_APP_MAP["tpl-event-json"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.tools.model.generator.model2event.Application"
+APEX_APP_MAP["model-2-cli"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.tools.model.generator.model2cli.Application"
+APEX_APP_MAP["rest-editor"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/client-editor-$_version-editor.jar"
 APEX_APP_MAP["cli-editor"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.auth.clieditor.ApexCLIEditorMain"
 APEX_APP_MAP["engine"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.service.engine.main.ApexMain"
-APEX_APP_MAP["eng-deployment"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/apex-services.client-deployment-$_version-deployment.jar"
-APEX_APP_MAP["eng-monitoring"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/apex-services.client-monitoring-$_version-monitoring.jar"
-APEX_APP_MAP["full-client"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/apex-services.client-full-$_version-full.jar"
+APEX_APP_MAP["eng-deployment"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/client-deployment-$_version-deployment.jar"
+APEX_APP_MAP["eng-monitoring"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/client-monitoring-$_version-monitoring.jar"
+APEX_APP_MAP["full-client"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/client-full-$_version-full.jar"
 
 ## array of applications with name=description
 declare -A APEX_APP_DESCR_MAP
diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.bat b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.bat
index c4cb649..165af59 100644
--- a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.bat
+++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.bat
@@ -17,11 +17,11 @@
 :: ============LICENSE_END=========================================================
 
 ::
-:: Script to run the APEX CLI Editor
+:: Script to run the APEX CLI Editor, calls apexApps.bat
 ::
 :: @package    org.onap.policy.apex
 :: @author     Sven van der Meer <sven.van.der.meer@ericsson.com>
-:: @version    v0.7.0
+:: @version    v2.0.0
 
 ::
 :: DO NOT CHANGE CODE BELOW, unless you know what you are doing
diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh
index 387a4d9..42c70fd 100755
--- a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh
+++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh
@@ -21,14 +21,11 @@
 #-------------------------------------------------------------------------------
 
 ##
-## Script to run the APEX CLI Editor
-## - requires BASH with associative arrays, bash of at least version 4
-## - for BASH examples with arrays see for instance: http://www.artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/
-## - adding a new app means to add a command to APEX_APP_MAP and a description to APEX_APP_DESCR_MAP using same/unique key
+## Script to run the APEX CLI Editor, calls apexApps.sh
 ##
 ## @package    org.onap.policy.apex
 ## @author     Sven van der Meer <sven.van.der.meer@ericsson.com>
-## @version    v0.7.0
+## @version    v2.0.0
 
 ##
 ## DO NOT CHANGE CODE BELOW, unless you know what you are doing
diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.bat b/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.bat
index d44adbb..a48a300 100644
--- a/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.bat
+++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.bat
@@ -17,11 +17,11 @@
 :: ============LICENSE_END=========================================================
 
 ::
-:: Script to run the APEX
+:: Script to run the APEX, calls apexApps.bat
 ::
 :: @package    org.onap.policy.apex
 :: @author     Sven van der Meer <sven.van.der.meer@ericsson.com>
-:: @version    v0.7.0
+:: @version    v2.0.0
 
 ::
 :: DO NOT CHANGE CODE BELOW, unless you know what you are doing
diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh
index 0a251ab..6a1386e 100755
--- a/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh
+++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh
@@ -21,14 +21,11 @@
 #-------------------------------------------------------------------------------
 
 ##
-## Script to run the APEX
-## - requires BASH with associative arrays, bash of at least version 4
-## - for BASH examples with arrays see for instance: http://www.artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/
-## - adding a new app means to add a command to APEX_APP_MAP and a description to APEX_APP_DESCR_MAP using same/unique key
+## Script to run the APEX, calls apexApps.sh
 ##
 ## @package    org.onap.policy.apex
 ## @author     Sven van der Meer <sven.van.der.meer@ericsson.com>
-## @version    v0.7.0
+## @version    v2.0.0
 
 ##
 ## DO NOT CHANGE CODE BELOW, unless you know what you are doing
diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.bat b/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.bat
index 69ada95..5942a2e 100644
--- a/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.bat
+++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.bat
@@ -17,11 +17,11 @@
 :: ============LICENSE_END=========================================================
 
 ::
-:: Script to run the APEX REST Editor
+:: Script to run the APEX REST Editor, calls apexApps.bat
 ::
 :: @package    org.onap.policy.apex
 :: @author     Sven van der Meer <sven.van.der.meer@ericsson.com>
-:: @version    v0.7.0
+:: @version    v2.0.0
 
 ::
 :: DO NOT CHANGE CODE BELOW, unless you know what you are doing
diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.sh
index cb3641f..62ab50e 100755
--- a/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.sh
+++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.sh
@@ -21,14 +21,11 @@
 #-------------------------------------------------------------------------------
 
 ##
-## Script to run the APEX REST Editor
-## - requires BASH with associative arrays, bash of at least version 4
-## - for BASH examples with arrays see for instance: http://www.artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/
-## - adding a new app means to add a command to APEX_APP_MAP and a description to APEX_APP_DESCR_MAP using same/unique key
+## Script to run the APEX REST Editor, calls apexApps.sh
 ##
 ## @package    org.onap.policy.apex
 ## @author     Sven van der Meer <sven.van.der.meer@ericsson.com>
-## @version    v0.7.0
+## @version    v2.0.0
 
 ##
 ## DO NOT CHANGE CODE BELOW, unless you know what you are doing
diff --git a/packages/apex-pdp-package-full/src/main/package/tarball/assembly.xml b/packages/apex-pdp-package-full/src/main/package/tarball/assembly.xml
index 1080506..6dd024f 100644
--- a/packages/apex-pdp-package-full/src/main/package/tarball/assembly.xml
+++ b/packages/apex-pdp-package-full/src/main/package/tarball/assembly.xml
@@ -26,7 +26,7 @@
     <dependencySets>
         <dependencySet>
             <useProjectArtifact>true</useProjectArtifact>
-            <outputDirectory>/lib</outputDirectory>
+            <outputDirectory>lib</outputDirectory>
             <unpack>false</unpack>
             <scope>runtime</scope>
             <includes>
@@ -35,7 +35,7 @@
         </dependencySet>
         <dependencySet>
             <useProjectArtifact>true</useProjectArtifact>
-            <outputDirectory>/war</outputDirectory>
+            <outputDirectory>war</outputDirectory>
             <unpack>false</unpack>
             <scope>runtime</scope>
             <includes>
@@ -49,7 +49,7 @@
             <includes>
                 <include>*</include>
             </includes>
-            <outputDirectory>/bin</outputDirectory>
+            <outputDirectory>bin</outputDirectory>
             <fileMode>0755</fileMode>
             <lineEnding>unix</lineEnding>
             <excludes>
@@ -61,7 +61,7 @@
             <includes>
                 <include>**/*</include>
             </includes>
-            <outputDirectory>/etc</outputDirectory>
+            <outputDirectory>etc</outputDirectory>
             <lineEnding>unix</lineEnding>
             <excludes>
                 <exclude>*.formatted</exclude>
@@ -72,7 +72,7 @@
             <includes>
                 <include>**/*</include>
             </includes>
-            <outputDirectory>/examples</outputDirectory>
+            <outputDirectory>examples</outputDirectory>
             <lineEnding>unix</lineEnding>
             <excludes>
                 <exclude>*.formatted</exclude>
@@ -83,7 +83,7 @@
             <includes>
                 <include>**/*</include>
             </includes>
-            <outputDirectory>/etc</outputDirectory>
+            <outputDirectory>etc</outputDirectory>
             <lineEnding>unix</lineEnding>
             <excludes>
                 <exclude>*.formatted</exclude>
@@ -94,7 +94,7 @@
             <includes>
                 <include>**/*</include>
             </includes>
-            <outputDirectory>/examples</outputDirectory>
+            <outputDirectory>examples</outputDirectory>
             <lineEnding>unix</lineEnding>
             <excludes>
                 <exclude>*.formatted</exclude>
@@ -105,7 +105,7 @@
             <includes>
                 <include>**/*</include>
             </includes>
-            <outputDirectory>/lib</outputDirectory>
+            <outputDirectory>lib</outputDirectory>
             <excludes>
                 <exclude>*.formatted</exclude>
             </excludes>
@@ -116,7 +116,7 @@
             <includes>
                 <include>readme_examples-servlet.txt</include>
             </includes>
-            <outputDirectory>/war</outputDirectory>
+            <outputDirectory>war</outputDirectory>
         </fileSet>
     </fileSets>
 </assembly>
diff --git a/packages/apex-pdp-package-full/src/main/resources/app-version.txt b/packages/apex-pdp-package-full/src/main/resources/app-version.txt
deleted file mode 100644
index f2ab45c..0000000
--- a/packages/apex-pdp-package-full/src/main/resources/app-version.txt
+++ /dev/null
@@ -1 +0,0 @@
-${project.version}
\ No newline at end of file
diff --git a/plugins/plugins-context/plugins-context-locking/plugins-context-locking-curator/pom.xml b/plugins/plugins-context/plugins-context-locking/plugins-context-locking-curator/pom.xml
index 53a305e..15a84c8 100644
--- a/plugins/plugins-context/plugins-context-locking/plugins-context-locking-curator/pom.xml
+++ b/plugins/plugins-context/plugins-context-locking/plugins-context-locking-curator/pom.xml
@@ -65,11 +65,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.curator</groupId>
-            <artifactId>curator-recipes</artifactId>
-            <version>4.0.1</version>
-        </dependency>
     </dependencies>
 
     <profiles>
@@ -88,4 +83,4 @@
             </distributionManagement>
         </profile>
     </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/plugins/plugins-executor/plugins-executor-jruby/pom.xml b/plugins/plugins-executor/plugins-executor-jruby/pom.xml
index 9137a5f..3399e15 100644
--- a/plugins/plugins-executor/plugins-executor-jruby/pom.xml
+++ b/plugins/plugins-executor/plugins-executor-jruby/pom.xml
@@ -46,11 +46,7 @@
                 </exclusion>
                 <exclusion>
                     <groupId>com.github.jnr</groupId>
-                    <artifactId>jnr-posix:</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.github.jnr</groupId>
-                    <artifactId>jnr-posix:</artifactId>
+                    <artifactId>jnr-posix</artifactId>
                 </exclusion>
                 <exclusion>
                     <groupId>com.github.jnr</groupId>
@@ -89,4 +85,4 @@
             </distributionManagement>
         </profile>
     </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/pom.xml b/pom.xml
index c7431a2..4ab4de4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -186,7 +186,7 @@
                 <adsite-main-dir>${project.basedir}/src</adsite-main-dir>
                 <adsite-tools-wsclients-dir>${project.basedir}/tools/simple-wsclient/src</adsite-tools-wsclients-dir>
                 <adsite-tools-common-dir>${project.basedir}/tools/tools-common/src</adsite-tools-common-dir>
-                <adsite-apps-uservice-test-dir>${project.basedir}/apps/apps.uservice/apps.uservice-test/src</adsite-apps-uservice-test-dir>
+
                 <adsite-examples-myfirstpolicy-dir>${project.basedir}/examples/examples-myfirstpolicy/src</adsite-examples-myfirstpolicy-dir>
                 <adsite-examples-decisionmaker-dir>${project.basedir}/examples/examples-decisionmaker/src</adsite-examples-decisionmaker-dir>
                 <adsite-examples-pcvs-dir>${project.basedir}/examples/examples-pcvs/src</adsite-examples-pcvs-dir>
@@ -194,6 +194,8 @@
                 <adsite-examples-onap-vcpe-dir>${project.basedir}/examples/examples-onap-vcpe/src</adsite-examples-onap-vcpe-dir>
                 <adsite-examples-servlet-dir>${project.basedir}/examples/examples-servlet/src</adsite-examples-servlet-dir>
 
+                <adsite-packages-docker-dir>${project.basedir}/packages/apex-pdp-docker/src</adsite-packages-docker-dir>
+
                 <adsite-plugins-event-protocol-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/src</adsite-plugins-event-protocol-dir>
                 <adsite-plugins-event-protocol-jms-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src</adsite-plugins-event-protocol-jms-dir>
                 <adsite-plugins-event-protocol-xml-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-xml/src</adsite-plugins-event-protocol-xml-dir>
@@ -214,6 +216,7 @@
                 <adsite-plugins-executor-jruby-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-jruby/src</adsite-plugins-executor-jruby-dir>
                 <adsite-plugins-executor-jython-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-jython/src</adsite-plugins-executor-jython-dir>
                 <adsite-plugins-executor-mvel-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-mvel/src</adsite-plugins-executor-mvel-dir>
+
                 <adsite-services-engine-dir>${project.basedir}/services/services-engine/src</adsite-services-engine-dir>
             </properties>
             <distributionManagement>
@@ -561,7 +564,7 @@
                                 <adsite-main-dir>${project.basedir}/src</adsite-main-dir>
                                 <adsite-tools-wsclients-dir>${project.basedir}/tools/simple-wsclient/src</adsite-tools-wsclients-dir>
                                 <adsite-tools-common-dir>${project.basedir}/tools/tools-common/src</adsite-tools-common-dir>
-                                <adsite-apps-uservice-test-dir>${project.basedir}/apps/apps.uservice/apps.uservice-test/src</adsite-apps-uservice-test-dir>
+
                                 <adsite-examples-myfirstpolicy-dir>${project.basedir}/examples/examples-myfirstpolicy/src</adsite-examples-myfirstpolicy-dir>
                                 <adsite-examples-decisionmaker-dir>${project.basedir}/examples/examples-decisionmaker/src</adsite-examples-decisionmaker-dir>
                                 <adsite-examples-pcvs-dir>${project.basedir}/examples/examples-pcvs/src</adsite-examples-pcvs-dir>
@@ -569,6 +572,8 @@
                                 <adsite-examples-onap-vcpe-dir>${project.basedir}/examples/examples-onap-vcpe/src</adsite-examples-onap-vcpe-dir>
                                 <adsite-examples-servlet-dir>${project.basedir}/examples/examples-servlet/src</adsite-examples-servlet-dir>
 
+                                <adsite-packages-docker-dir>${project.basedir}/packages/apex-pdp-docker/src</adsite-packages-docker-dir>
+
                                 <adsite-plugins-event-protocol-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/src</adsite-plugins-event-protocol-dir>
                                 <adsite-plugins-event-protocol-jms-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src</adsite-plugins-event-protocol-jms-dir>
                                 <adsite-plugins-event-protocol-xml-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-xml/src</adsite-plugins-event-protocol-xml-dir>
@@ -588,6 +593,7 @@
                                 <adsite-plugins-executor-jruby-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-jruby/src</adsite-plugins-executor-jruby-dir>
                                 <adsite-plugins-executor-jython-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-jython/src</adsite-plugins-executor-jython-dir>
                                 <adsite-plugins-executor-mvel-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-mvel/src</adsite-plugins-executor-mvel-dir>
+
                                 <adsite-services-engine-dir>${project.basedir}/services/services-engine/src</adsite-services-engine-dir>
                             </attributes>
                         </configuration>
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/package-info.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/package-info.java
index 7540413..deb502a 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/package-info.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/package-info.java
@@ -19,10 +19,10 @@
  */
 
 /**
- * Provides a generic externally-facing {@link ApexEvent} class that can be sent into an APEX engine
- * and processed by an APEX engine. It provides the producer {@link ApexEventProducer} producer and
- * {@link ApexEventConsumer} consumer interfaces that APEX uses to send events to and receive events
- * from other systems. It also provides the {@link ApexEventConverter} interface that can be
+ * Provides a generic externally-facing ApexEvent class that can be sent into an APEX engine
+ * and processed by an APEX engine. It provides the producer ApexEventProducer producer and
+ * ApexEventConsumer consumer interfaces that APEX uses to send events to and receive events
+ * from other systems. It also provides the ApexEventConverter interface that can be
  * implemented by plugins that wish to convert some external event format into the APEX event
  * format. It also provides a periodic event generator that can be used to send periodic events into
  * an APEX engine for triggering of policies to carry out housekeeping tasks.
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/runtime/package-info.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/runtime/package-info.java
index b54a903..eeb2eab 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/runtime/package-info.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/runtime/package-info.java
@@ -19,9 +19,9 @@
  */
 
 /**
- * Provides Java APIs for APEX engines at runtime. The {@link EngineService} is used to start, stop
- * and manage APEX engines. {@link EngineServiceEventInterface} is used to send events to an APEX
- * engine. {@link ApexEventListener} interface is used to receive events from an APEX engine.
+ * Provides Java APIs for APEX engines at runtime. The EngineService is used to start, stop
+ * and manage APEX engines. EngineServiceEventInterface is used to send events to an APEX
+ * engine. ApexEventListener interface is used to receive events from an APEX engine.
  *
  * @author Liam Fallon (liam.fallon@ericsson.com)
  */
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/carriertechnology/CarrierTechnologyParameters.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/carriertechnology/CarrierTechnologyParameters.java
index 0c10df7..41e3018 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/carriertechnology/CarrierTechnologyParameters.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/carriertechnology/CarrierTechnologyParameters.java
@@ -54,8 +54,6 @@
     /**
      * Constructor to create a carrier technology parameters instance with the name of a sub class of this class and
      * register the instance with the parameter service.
-     *
-     * @param parameterClassName the class name of a sub class of this class
      */
     public CarrierTechnologyParameters() {
         super();
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/package-info.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/package-info.java
index 2c64737..e9e8923 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/package-info.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/package-info.java
@@ -19,10 +19,9 @@
  */
 
 /**
- * Implements parameter handling for all parameters in APEX. It uses specializations of (@link
- * {@link org.onap.policy.apex.model.basicmodel.service.AbstractParameters} for all parameters and
- * works with {@link org.onap.policy.apex.model.basicmodel.service.ParameterService} for storing and
- * finding parameters.
+ * Implements parameter handling for all parameters in APEX.
+ * It uses specializations of the class <code>AbstractParameters</code> (basic model) for all parameters.
+ * It works with <code>ParameterService</code> (basic model) for storing and finding parameters.
  *
  * @author Liam Fallon (liam.fallon@ericsson.com)
  */
diff --git a/src/site-docs/.gitignore b/src/site-docs/.gitignore
deleted file mode 100644
index 17d1abd..0000000
--- a/src/site-docs/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-logos/
-
diff --git a/src/site-docs/adoc/fragments/apex-intro/resources.adoc b/src/site-docs/adoc/fragments/apex-intro/resources.adoc
index f4c8b94..62ace92 100644
--- a/src/site-docs/adoc/fragments/apex-intro/resources.adoc
+++ b/src/site-docs/adoc/fragments/apex-intro/resources.adoc
@@ -14,6 +14,6 @@
 == Resources
 
 * APEX Documentation hosted on Github: link:https://ericsson.github.io/apex-docs[]
-* APEX source code repo hosted on Github: link:https://github.com/Ericsson/apex[]
-* Issue Management (source and documentation): link:https://github.com/Ericsson/apex/issues[]
+* APEX source code repository hosted by ONAP: link:https://gerrit.onap.org/r/#/admin/projects/policy/apex-pdp[]
+* Issue Management (source and documentation, ONAP JIRA, requires a Linux Foundation ID): link:https://jira.onap.org/projects/POLICY/issues[]
 * List of APEX publications: link:https://ericsson.github.io/apex-docs/apex-publications.html[]
diff --git a/src/site-docs/adoc/fragments/howto-apex/app-model-2-cli.adoc b/src/site-docs/adoc/fragments/howto-apex/app-model-2-cli.adoc
index 973564d..2f273a2 100644
--- a/src/site-docs/adoc/fragments/howto-apex/app-model-2-cli.adoc
+++ b/src/site-docs/adoc/fragments/howto-apex/app-model-2-cli.adoc
@@ -47,7 +47,7 @@
 For instance, running the tool with the __Sample Domain__ policy model as:
 [source%nowrap,sh]
 ----
-apexApps.sh tpl-event-json -m $APEX_HOME/examples/models/SampleDomain/SamplePolicyModelJAVA.json -t stimuli
+apexApps.sh model-2-cli -m $APEX_HOME/examples/models/SampleDomain/SamplePolicyModelJAVA.json
 ----
 
 will produce the following status messages:
diff --git a/src/site-docs/adoc/fragments/howto-apex/app-tpl-event-json.adoc b/src/site-docs/adoc/fragments/howto-apex/app-tpl-event-json.adoc
index bd31bed..7493606 100644
--- a/src/site-docs/adoc/fragments/howto-apex/app-tpl-event-json.adoc
+++ b/src/site-docs/adoc/fragments/howto-apex/app-tpl-event-json.adoc
@@ -38,6 +38,7 @@
 
 [source%nowrap,sh]
 ----
+gen-model2event v{release-version} - generates JSON templates for events generated from a policy model
 usage: gen-model2event
  -h,--help                 prints this help and usage screen
  -m,--model <MODEL-FILE>   set the input policy model file
diff --git a/src/site-docs/adoc/fragments/howto-apex/cli-editor.adoc b/src/site-docs/adoc/fragments/howto-apex/cli-editor.adoc
index e677079..a129ca3 100644
--- a/src/site-docs/adoc/fragments/howto-apex/cli-editor.adoc
+++ b/src/site-docs/adoc/fragments/howto-apex/cli-editor.adoc
@@ -58,7 +58,6 @@
 ----
 usage: org.onap.policy.apex.auth.clieditor.ApexCLIEditorMain [options...]
 options
-
  -a,--model-props-file <MODEL_PROPS_FILE>       name of the apex model properties file to use
  -c,--command-file <COMMAND_FILE>               name of a file containing editor commands to run into the editor
  -h,--help                                      outputs the usage of this command
diff --git a/src/site-docs/adoc/fragments/howto-apex/eng-deployment.adoc b/src/site-docs/adoc/fragments/howto-apex/eng-deployment.adoc
index 52836a7..fb19353 100644
--- a/src/site-docs/adoc/fragments/howto-apex/eng-deployment.adoc
+++ b/src/site-docs/adoc/fragments/howto-apex/eng-deployment.adoc
@@ -30,16 +30,21 @@
 
 [source%nowrap,sh]
 ----
-usage: org.onap.policy.apex.services.client.deployment.rest.ApexDeploymentRestMain [options...]
--h,--help                         outputs the usage of this command
--p,--port <PORT>                  port to use for the Apex Services REST calls
--t,--time-to-live <TIME_TO_LIVE>  the amount of time in seconds that the server will run for before terminating
+usage: org.onap.policy.apex.client.deployment.rest.ApexDeploymentRestMain [options...]
+-h,--help                        outputs the usage of this command
+-p,--port <PORT>                 port to use for the Apex Services REST calls
+-t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating
+
 ----
 
 If the Deployment Client is started without any arguments the final messages will look similar to this:
 
 [source%nowrap,sh]
 ----
+Apex Services REST endpoint (ApexDeploymentRestMain: Config=[ApexDeploymentRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . .
+Sep 05, 2018 11:27:09 PM org.glassfish.grizzly.http.server.NetworkListener start
+INFO: Started listener bound to [localhost:18989]
+Sep 05, 2018 11:27:09 PM org.glassfish.grizzly.http.server.HttpServer start
 INFO: [HttpServer] Started.
 Apex Services REST endpoint (ApexDeploymentRestMain: Config=[ApexDeploymentRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/
 ----
diff --git a/src/site-docs/adoc/fragments/howto-apex/eng-monitoring.adoc b/src/site-docs/adoc/fragments/howto-apex/eng-monitoring.adoc
index 960546d..9b26d75 100644
--- a/src/site-docs/adoc/fragments/howto-apex/eng-monitoring.adoc
+++ b/src/site-docs/adoc/fragments/howto-apex/eng-monitoring.adoc
@@ -30,16 +30,20 @@
 
 [source%nowrap,sh]
 ----
-usage: org.onap.policy.apex.services.client.monitoring.rest.ApexMonitoringRestMain [options...]
--h,--help                         outputs the usage of this command
--p,--port <PORT>                  port to use for the Apex Services REST calls
--t,--time-to-live <TIME_TO_LIVE>  the amount of time in seconds that the server will run for before terminating
+usage: org.onap.policy.apex.client.monitoring.rest.ApexMonitoringRestMain [options...]
+-h,--help                        outputs the usage of this command
+-p,--port <PORT>                 port to use for the Apex Services REST calls
+-t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating
 ----
 
 If the Monitoring Client is started without any arguments the final messages will look similar to this:
 
 [source%nowrap,sh]
 ----
+Apex Services REST endpoint (ApexMonitoringRestMain: Config=[ApexMonitoringRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . .
+Sep 05, 2018 11:26:20 PM org.glassfish.grizzly.http.server.NetworkListener start
+INFO: Started listener bound to [localhost:18989]
+Sep 05, 2018 11:26:20 PM org.glassfish.grizzly.http.server.HttpServer start
 INFO: [HttpServer] Started.
 Apex Services REST endpoint (ApexMonitoringRestMain: Config=[ApexMonitoringRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/
 ----
diff --git a/src/site-docs/adoc/fragments/howto-apex/engine.adoc b/src/site-docs/adoc/fragments/howto-apex/engine.adoc
index 819c2ca..79dfe20 100644
--- a/src/site-docs/adoc/fragments/howto-apex/engine.adoc
+++ b/src/site-docs/adoc/fragments/howto-apex/engine.adoc
@@ -19,7 +19,7 @@
 
 - `apexEngine.sh` - this script will
   ** Test if `$APEX_USER` is set and if the user exists, terminate with an error otherwise
-  ** Test if `$APEX_HOME` is set. If not set, it will use the default setting as `/opt/ericsson/apex/apex`.
+  ** Test if `$APEX_HOME` is set. If not set, it will use the default setting as `/opt/app/policy/apex-pdp/apex-pdp`.
      Then the set directory is tested to exist, the script will terminate if not.
   ** When all tests are passed successfully, the script will call `apexApps.sh` with arguments to start the APEX engine.
 - `apexApps.sh engine` - this is the general APEX application launcher, which will
@@ -59,13 +59,11 @@
 ----
 usage: org.onap.policy.apex.service.engine.main.ApexMain [options...]
 options
- -c,--config-file <CONFIG_FILE>   the full path to the configuration file to use,
-                                  the configuration file must be a Json
-                                  file containing the Apex configuration parameters
- -h,--help                        outputs the usage of this command
- -m,--model-file <MODEL_FILE>     the full path to the model file to use,
-                                  if set it overrides the model file set in the
-                                  configuration file
- -v,--version                     outputs the version of Apex
+-c,--config-file <CONFIG_FILE>  the full path to the configuration file to use, the configuration file must be a Json file
+                                containing the Apex configuration parameters
+-h,--help                       outputs the usage of this command
+-m,--model-file <MODEL_FILE>    the full path to the model file to use, if set it overrides the model file set in the
+                                configuration file
+-v,--version                    outputs the version of Apex
 ----
 
diff --git a/src/site-docs/adoc/fragments/howto-apex/full-client.adoc b/src/site-docs/adoc/fragments/howto-apex/full-client.adoc
index 97a1839..4370d80 100644
--- a/src/site-docs/adoc/fragments/howto-apex/full-client.adoc
+++ b/src/site-docs/adoc/fragments/howto-apex/full-client.adoc
@@ -31,16 +31,21 @@
 
 [source%nowrap,sh]
 ----
-usage: org.onap.policy.apex.services.client.full.rest.ApexServicesRestMain [options...]
--h,--help                         outputs the usage of this command
--p,--port <PORT>                  port to use for the Apex Services REST calls
--t,--time-to-live <TIME_TO_LIVE>  the amount of time in seconds that the server will run for before terminating
+usage: org.onap.policy.apex.client.full.rest.ApexServicesRestMain [options...]
+-h,--help                        outputs the usage of this command
+-p,--port <PORT>                 port to use for the Apex Services REST calls
+-t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating
+
 ----
 
 If the Full Client is started without any arguments the final messages will look similar to this:
 
 [source%nowrap,sh]
 ----
+Apex Editor REST endpoint (ApexServicesRestMain: Config=[ApexServicesRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . .
+Sep 05, 2018 11:28:28 PM org.glassfish.grizzly.http.server.NetworkListener start
+INFO: Started listener bound to [localhost:18989]
+Sep 05, 2018 11:28:28 PM org.glassfish.grizzly.http.server.HttpServer start
 INFO: [HttpServer] Started.
 Apex Editor REST endpoint (ApexServicesRestMain: Config=[ApexServicesRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/
 ----
diff --git a/src/site-docs/adoc/fragments/howto-apex/introduction.adoc b/src/site-docs/adoc/fragments/howto-apex/introduction.adoc
index faa2f49..a7d8ee6 100644
--- a/src/site-docs/adoc/fragments/howto-apex/introduction.adoc
+++ b/src/site-docs/adoc/fragments/howto-apex/introduction.adoc
@@ -12,7 +12,7 @@
 //
 
 == Introduction to APEX Engine and Applications
-The core of APEX is the APEX Engine, also known as the APEX Policy Engine.
+The core of APEX is the APEX Engine, also known as the APEX Policy Engine or the APEX PDP (since it is in fact a Policy Decision Point).
 Beside this engine, an APEX system comes with a few applications intended to help with policy authoring, deployment, and execution.
 
 The engine itself and most applications are started from the command line with command line arguments.
@@ -20,17 +20,10 @@
 Some applications require an installation on a webserver, as for instance the REST Editor.
 Those applications can be accessed via a web browser.
 
-Starting with APEX version 0.5.6, we also provide plugins for Eclipse realizing a policy development environment.
-Those plugins support the main APEX policy language.
-Other, higher-level, policy languages will be added in future versions along with their Eclipse plugins.
-Furthermore, we are planning to provide a backend supporting the Language Server Protocol (LSP).
-This backend, run as a server, will allow to join any editor or IDE that is LSP-enabled to benefit from the APEX policy languages.
-
-Last not least, one can use the available APEX APIs and applications to develop other applications as required.
+You can also use the available APEX APIs and applications to develop other applications as required.
 This includes policy languages (and associated parsers and compilers / interpreters), GUIs to access APEX or to define policies, clients to connect to APEX, etc.
-Separate documentation will be available in APEX releases addressing this type of applications.
 
-For this documentation, we assume an installation of APEX as a full system (i.e. not minimal) of version 0.5.6 or higher.
+For this documentation, we assume an installation of APEX as a full system based on a current ONAP release.
 
 == CLI on Unix, Windows, and Cygwin
 A note on APEX CLI applications: all applications and the engine itself have been deployed and tested on different operating systems: Red Hat, Ubuntu, Debian, Mac OSX, Windows, Cygwin.
@@ -38,7 +31,7 @@
 The main items here are:
 
 - For UNIX systems (RHL, Ubuntu, Debian, Mac OSX), the provided bash scripts work as expected
-  with absolute paths (e.g. `/opt/ericsson/apex/apex-{release-version}/examples`),
+  with absolute paths (e.g. `/opt/app/policy/apex-pdp/apex-pdp-{release-version}/examples`),
   indirect and linked paths (e.g. `../apex/apex`),
   and path substitutions using environment settings (e.g. `$APEX_HOME/bin/`)
 - For Windows systems, the provided batch files (`.bat`) work as expected with 
diff --git a/src/site-docs/adoc/fragments/howto-apex/rest-editor.adoc b/src/site-docs/adoc/fragments/howto-apex/rest-editor.adoc
index 3be6f9f..fafa656 100644
--- a/src/site-docs/adoc/fragments/howto-apex/rest-editor.adoc
+++ b/src/site-docs/adoc/fragments/howto-apex/rest-editor.adoc
@@ -51,10 +51,10 @@
 
 [source%nowrap,sh]
 ----
-usage: org.onap.policy.apex.auth.rest.ApexEditorMain [options...]
+usage: org.onap.policy.apex.client.editor.rest.ApexEditorMain [options...]
 -h,--help                        outputs the usage of this command
--l,--listen <ADDRESS>            the IP address to listen on.  Default value is 0.0.0.0 to listen on all available
-                                 addresses. Use value 'localhost' to restrict access to the local machine only.
+-l,--listen <ADDRESS>            the IP address to listen on.  Default value is localhost to restrict access to the
+                                 local machine only.
 -p,--port <PORT>                 port to use for the Apex RESTful editor REST calls.
 -t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating. Default
                                  value is -1 to run indefinitely.
@@ -64,11 +64,15 @@
 
 [source%nowrap,sh]
 ----
+Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . .
+Sep 05, 2018 11:24:30 PM org.glassfish.grizzly.http.server.NetworkListener start
+INFO: Started listener bound to [localhost:18989]
+Sep 05, 2018 11:24:30 PM org.glassfish.grizzly.http.server.HttpServer start
 INFO: [HttpServer] Started.
-Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://0.0.0.0:18988/apex/, TTL=-1sec], State=RUNNING) started at http://0.0.0.0:18988/apex/
+Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/
 ----
 
 The last line states the URL on which the REST Editor can be accessed.
-The example above stated `http://0.0.0.0:18988/apex/`.
-In a web browser use the URL `http://localhost:18988` and the REST Editor will start.
+The example above stated `http://0.0.0.0:18989/apex/`.
+In a web browser use the URL `http://localhost:18989` and the REST Editor will start.
 
diff --git a/src/site-docs/adoc/fragments/howto-build/introduction.adoc b/src/site-docs/adoc/fragments/howto-build/introduction.adoc
index 02ba21f..546a769 100644
--- a/src/site-docs/adoc/fragments/howto-build/introduction.adoc
+++ b/src/site-docs/adoc/fragments/howto-build/introduction.adoc
@@ -34,6 +34,15 @@
 - Windows: `C:\dev\apex`
 - Cygwin: `/cygdrive/c/dev/apex`
 
+
+[IMPORTANT]
+.A Build requires ONAP Nexus
+====
+APEX has a dependency to ONAP parent projects.
+You might need to adjust your Maven M2 settings.
+The most current settings can be found in the ONAP oparent repo: link:https://git.onap.org/oparent/plain/settings.xml[Settings].
+====
+
 [IMPORTANT]
 .A Build needs Space
 ====
diff --git a/src/site-docs/adoc/fragments/howto-build/site.adoc b/src/site-docs/adoc/fragments/howto-build/site.adoc
index 42cbda5..6ec453c 100644
--- a/src/site-docs/adoc/fragments/howto-build/site.adoc
+++ b/src/site-docs/adoc/fragments/howto-build/site.adoc
@@ -18,9 +18,9 @@
 Stage the APEX web site.
 The target folder for the staged site is
 
-- Unix: `/usr/local/src/apex/target/gh-pages`
-- Windows: `C:\dev\apex\target\gh-pages`
-- Cygwin: `/cygdrive/c/dev/apex/target/gh-pages`
+- Unix: `/usr/local/src/apex/target/ad-site`
+- Windows: `C:\dev\apex\target\ad-site`
+- Cygwin: `/cygdrive/c/dev/apex/target/ad-site`
 
 Once the web site is staged, copy the full site to a folder of choice or into a web server.
 
@@ -45,20 +45,20 @@
 [source%nowrap,sh]
 ----
 cd /usr/local/src/apex
-rm -fr target/gh-pages
+rm -fr target/ad-site
 ----
 |
 [source%nowrap,bat]
 ----
 c:
 cd \dev\apex
-rmdir /s /q target\gh-pages
+rmdir /s /q target\ad-site
 ----
 |
 [source%nowrap,sh]
 ----
 cd /cygdrive/c/dev/apex
-rm -fr target/gh-pages
+rm -fr target/ad-site
 ----
 |====================
 
diff --git a/src/site-docs/adoc/fragments/howto-build/standard.adoc b/src/site-docs/adoc/fragments/howto-build/standard.adoc
index 76ebfc2..9701374 100644
--- a/src/site-docs/adoc/fragments/howto-build/standard.adoc
+++ b/src/site-docs/adoc/fragments/howto-build/standard.adoc
@@ -33,7 +33,7 @@
 ----
 |====================
 
-The build takes 2-3 minutes on a standard development laptop.
+The build takes about 6 minutes on a standard development laptop.
 It should run through without errors, but with a lot of messages from the build process.
 
 When Maven is finished with the build, the final screen should look similar to this (omitting some `success` lines):
@@ -53,7 +53,7 @@
 |
 [source%nowrap,sh,numbered]
 ----
-# cd modules/apex-apps/apex-apps.uservice/apex-apps.uservice-packaging/apex-apps.uservice-package-full/target
+# cd packages/apex-pdp-package-full/target
 # ls -l
 ----
 
@@ -72,7 +72,7 @@
 |
 [source%nowrap,bat,numbered]
 ----
->cd modules\apex-apps\apex-apps.uservice\apex-apps.uservice-packaging\apex-apps.uservice-package-full\target
+>cd packages\apex-pdp-package-full\target
 >dir
 ----
 
diff --git a/src/site-docs/adoc/fragments/howto-build/with-tests.adoc b/src/site-docs/adoc/fragments/howto-build/with-tests.adoc
index f8d300c..e923ece 100644
--- a/src/site-docs/adoc/fragments/howto-build/with-tests.adoc
+++ b/src/site-docs/adoc/fragments/howto-build/with-tests.adoc
@@ -41,17 +41,7 @@
 ----
 |====================
 
-The build takes about 5-6 minutes with tests on a standard development laptop.
+The build takes about 10 minutes with tests on a standard development laptop.
 It should run through without errors, but with a lot of messages from the build process.
 If build with tests (i.e. without `-DskipTests`), there will be error messages and stack trace prints from some tests.
 This is normal, as long as the build finishes successful.
-
-When Maven is finished with the build, the final screen should look similar to this (omitting some `success` lines):
-
-[source%nowrap,sh,numbered,subs="attributes+"]
-----
-include::{adsite-main-dir}/site-docs/adoc/fragments/screens/mvn-install-skiptests.txt[mvn build, with tests]
-----
-
-The build will have created all artifacts required for an APEX installation.
-
diff --git a/src/site-docs/adoc/fragments/howto-codestyle/01-introduction.adoc b/src/site-docs/adoc/fragments/howto-codestyle/01-introduction.adoc
index 776ad34..2e8e4fb 100644
--- a/src/site-docs/adoc/fragments/howto-codestyle/01-introduction.adoc
+++ b/src/site-docs/adoc/fragments/howto-codestyle/01-introduction.adoc
@@ -21,7 +21,6 @@
 The JAutoDoc and Checkstyle Eclipse Plugins and tools are useful and remove a lot of the tedium from code documentation.
 Use them to check your code and please fix any issues they identify with your code.
 
-The templates and examples on this page have been tested on a clean installation of Eclipse Oxygen Release (4.7.0) on Ubuntu Linux 16.04 LTS.
-
-The Apex settings referred to on this page are also available in the apex-model GIT repository in the APEX model repository in apex-model/apex-model.build-tools/src/main/resources/`.
+Since APEX is part of ONAP, the general ONAP rules and guideliness for development do apply.
+Please see link:https://wiki.onap.org/display/DW/Developing+ONAP[ONAP Wiki] for details.
 
diff --git a/src/site-docs/adoc/fragments/howto-codestyle/11-plugin-checkstyle.adoc b/src/site-docs/adoc/fragments/howto-codestyle/11-plugin-checkstyle.adoc
index a6a93bf..d8a55c3 100644
--- a/src/site-docs/adoc/fragments/howto-codestyle/11-plugin-checkstyle.adoc
+++ b/src/site-docs/adoc/fragments/howto-codestyle/11-plugin-checkstyle.adoc
@@ -21,6 +21,8 @@
 Select "Checkstyle Plug-in" when the search returns and install it.
 Note that "Checkstyle Plug-in" may not be the first result in the list of items returned.
 
-You must configure Checkstyle in order to get the most out of it.
-There are two built-in style templates in Checkstyle (from Oracle and Google) but user will almost certainly wish to tweak these.
+For APEX, the ONAP checkstyle rules do apply.
+The configuration is part of the ONAP parent.
+See link:https://git.onap.org/oparent/plain/checkstyle/src/main/resources/onap-checkstyle/[ONAP Git] for details and updates.
+All settings for checkstyle are already part of the code (POM files).
 
diff --git a/src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc b/src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc
index 2e6698f..d59b424 100644
--- a/src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc
+++ b/src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc
@@ -18,28 +18,7 @@
 That module is then used as a dependency in the __POM__ for all other modules that wish to use that checkstyle style.
 For a full explanation see link:https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html[the explanation of Checkstyle multi-module configuration].
 
-In Apex, the module `apex-model.build-tools` provides the Apex checkstyle style files as resources in `src/main/resources/checkstyle`.
-This style is a slightly tweaked version of the standard Google checkstyle style that allows longer lines and has some other checks slightly relaxed.
-Therefore, all modules that wish to use the Apex style must put the following build directive into their `pom.xml`.
-
-[source%nowrap,xml]
-----
-<plugin>
-  <groupId>org.apache.maven.plugins</groupId>
-  <artifactId>maven-checkstyle-plugin</artifactId>
-  <version>2.17</version>
-  <dependencies>
-    <dependency>
-      <groupId>org.onap.policy.apex.model</groupId>
-      <artifactId>apex-model.build-tools</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-  </dependencies>
-  <configuration>
-    <configLocation>checkstyle/apex_style_checks.xml</configLocation>
-    <headerLocation>checkstyle/apex_header.txt</headerLocation>
-  </configuration>
-</plugin>
-----
-
+For APEX, the ONAP checkstyle rules do apply.
+The configuration is part of the ONAP parent.
+See link:https://git.onap.org/oparent/plain/checkstyle/src/main/resources/onap-checkstyle/[ONAP Git] for details and updates.
 
diff --git a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-checkstyle-header.adoc b/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-checkstyle-header.adoc
deleted file mode 100644
index ce6367e..0000000
--- a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-checkstyle-header.adoc
+++ /dev/null
@@ -1,17 +0,0 @@
-//
-// ============LICENSE_START=======================================================
-//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-// ================================================================================
-// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-// 
-// SPDX-License-Identifier: CC-BY-4.0
-// ============LICENSE_END=========================================================
-//
-// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
-//
-
-[source%nowrap,text,subs="attributes+"]
-----
-include::{apex-main-dir}/checkstyle/apex_header.txt[]
-----
\ No newline at end of file
diff --git a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-checkstyle-style-checks.adoc b/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-checkstyle-style-checks.adoc
deleted file mode 100644
index f67a01c..0000000
--- a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-checkstyle-style-checks.adoc
+++ /dev/null
@@ -1,17 +0,0 @@
-//
-// ============LICENSE_START=======================================================
-//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-// ================================================================================
-// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-// 
-// SPDX-License-Identifier: CC-BY-4.0
-// ============LICENSE_END=========================================================
-//
-// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
-//
-
-[source%nowrap,xml,subs="attributes+"]
-----
-include::{apex-main-dir}/checkstyle/apex_style_checks.xml[]
-----
\ No newline at end of file
diff --git a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-checkstyle-settings.adoc b/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-checkstyle-settings.adoc
deleted file mode 100644
index 255855b..0000000
--- a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-checkstyle-settings.adoc
+++ /dev/null
@@ -1,17 +0,0 @@
-//
-// ============LICENSE_START=======================================================
-//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-// ================================================================================
-// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-// 
-// SPDX-License-Identifier: CC-BY-4.0
-// ============LICENSE_END=========================================================
-//
-// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
-//
-
-[source%nowrap,xml,subs="attributes+"]
-----
-include::{apex-main-dir}/eclipse/ApexCheckstyleSettings.xml[]
-----
\ No newline at end of file
diff --git a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-cleanup.adoc b/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-cleanup.adoc
deleted file mode 100644
index 638d339..0000000
--- a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-cleanup.adoc
+++ /dev/null
@@ -1,17 +0,0 @@
-//
-// ============LICENSE_START=======================================================
-//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-// ================================================================================
-// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-// 
-// SPDX-License-Identifier: CC-BY-4.0
-// ============LICENSE_END=========================================================
-//
-// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
-//
-
-[source%nowrap,xml,subs="attributes+"]
-----
-include::{apex-main-dir}/eclipse/ApexCleanUpTemplate.xml[]
-----
\ No newline at end of file
diff --git a/src/site-docs/adoc/fragments/howto-logging/example-logic.adoc b/src/site-docs/adoc/fragments/howto-logging/example-logic.adoc
index 7888945..8f22cb4 100644
--- a/src/site-docs/adoc/fragments/howto-logging/example-logic.adoc
+++ b/src/site-docs/adoc/fragments/howto-logging/example-logic.adoc
@@ -13,52 +13,52 @@
 
 == Example Configuration for Logging Logic
 
-The following example shows a configuration that logs policy logic to standard out (__info__) and a file (__debug__)
-All other APEX components are logging to a file (__debug__) and standard out (__error__).
+The following example shows a configuration that logs policy logic to standard out and a file (__info__).
+All other APEX components are logging to a file (__debug__)..
 This configuration an be used in a pre-production phase with the APEX engine still running in a separate terminal to monitor policy execution.
-This logback configuration is in the APEX installation as `etc/logback-logic.xml`
+This logback configuration is in the APEX installation as `etc/logback-logic.xml`.
 
 [source%nowrap,xml]
 ----
 <configuration debug="false">
-  <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
 
-  <contextName>Apex</contextName>
-  <property name="VAR_LOG" value="/var/log/ericsson/apex/" />
+    <contextName>Apex</contextName>
+    <property name="VAR_LOG" value="/var/log/onap/policy/apex-pdp/" />
 
-  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <encoder>
-      <Pattern>%d %contextName [%t] %level %logger{36} - %msg%n</Pattern>
-    </encoder>
-  </appender>
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <Pattern>%d %contextName [%t] %level %logger{36} - %msg%n</Pattern>
+        </encoder>
+    </appender>
 
-  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
-    <file>${VAR_LOG}/apex.log</file>
-    <encoder>
-      <pattern>
-        %d %-5relative [procId=${processId}] [%thread] %-5level%logger{26} - %msg %n %ex{full}
-      </pattern>
-    </encoder>
-  </appender>
+    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+        <file>${VAR_LOG}/apex.log</file>
+        <encoder>
+            <pattern>
+                %d %-5relative [procId=${processId}] [%thread] %-5level%logger{26} - %msg %n %ex{full}
+            </pattern>
+        </encoder>
+    </appender>
 
-  <appender name="POLICY_APPENDER_STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <encoder>
-      <pattern>policy: %msg\n</pattern>
-    </encoder>
-  </appender>
+    <appender name="POLICY_APPENDER_STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>policy: %msg\n</pattern>
+        </encoder>
+    </appender>
 
-  <root level="error">
-    <appender-ref ref="STDOUT" />
-  </root>
+    <root level="error">
+        <appender-ref ref="STDOUT" />
+    </root>
 
-<logger name="org.onap.policy.apex" level="debug" additivity="false">
-  <appender-ref ref="FILE" />
-</logger>
+    <logger name="org.onap.policy.apex" level="debug" additivity="false">
+        <appender-ref ref="FILE" />
+    </logger>
 
-  <logger name="org.onap.policy.apex.executionlogging" level="debug" additivity="false">
-    <appender-ref ref="POLICY_APPENDER_STDOUT" />
-    <appender-ref ref="FILE" />
-  </logger>
+    <logger name="org.onap.policy.apex.executionlogging" level="info" additivity="false">
+        <appender-ref ref="POLICY_APPENDER_STDOUT" />
+        <appender-ref ref="FILE" />
+    </logger>
 </configuration>
 ----
 
diff --git a/src/site-docs/adoc/fragments/howto-logging/example-server.adoc b/src/site-docs/adoc/fragments/howto-logging/example-server.adoc
index b438bd4..8f40a42 100644
--- a/src/site-docs/adoc/fragments/howto-logging/example-server.adoc
+++ b/src/site-docs/adoc/fragments/howto-logging/example-server.adoc
@@ -20,27 +20,27 @@
 [source%nowrap,xml]
 ----
 <configuration debug="false">
-  <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
 
-  <contextName>Apex</contextName>
-  <property name="VAR_LOG" value="/var/log/ericsson/apex/" />
+    <contextName>Apex</contextName>
+    <property name="VAR_LOG" value="/var/log/onap/policy/apex-pdp/" />
 
-  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
-    <file>${VAR_LOG}/apex.log</file>
-    <encoder>
-      <pattern>
-        %d %-5relative [procId=${processId}] [%thread] %-5level%logger{26} - %msg %n %ex{full}
-      </pattern>
-    </encoder>
-  </appender>
+    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+        <file>${VAR_LOG}/apex.log</file>
+        <encoder>
+            <pattern>
+                %d %-5relative [procId=${processId}] [%thread] %-5level%logger{26} - %msg %n %ex{full}
+            </pattern>
+        </encoder>
+    </appender>
 
-  <root level="debug">
-    <appender-ref ref="FILE" />
-  </root>
+    <root level="debug">
+        <appender-ref ref="FILE" />
+    </root>
 
-  <logger name="org.onap.policy.apex.executionlogging" level="debug" additivity="false">
-    <appender-ref ref="FILE" />
-  </logger>
+    <logger name="org.onap.policy.apex.executionlogging" level="debug" additivity="false">
+        <appender-ref ref="FILE" />
+    </logger>
 </configuration>
 ----
 
diff --git a/src/site-docs/adoc/fragments/howto-logging/logging-policy-logic.adoc b/src/site-docs/adoc/fragments/howto-logging/logging-policy-logic.adoc
index 779e454..a0cc025 100644
--- a/src/site-docs/adoc/fragments/howto-logging/logging-policy-logic.adoc
+++ b/src/site-docs/adoc/fragments/howto-logging/logging-policy-logic.adoc
@@ -17,9 +17,8 @@
 The logger for policy logic is `org.onap.policy.apex.executionlogging`.
 The following example defines
 
-- a new appender for policy logic logging to standard out using a very simple pattern (simply the actual message)
-- a logger for policy logic to standard out using the new appender
-- a logger for policy logic to the standard `FILE` appender
+- a new appender for standard out using a very simple pattern (simply the actual message)
+- a logger for policy logic to standard out using the new appender and the already described file appender.
 
 [source%nowrap,xml]
 ----
@@ -29,12 +28,6 @@
   </encoder>
 </appender>
 
-<appender name="POLICY_APPENDER_STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-  <encoder>
-    <pattern>policy: %msg\n</pattern>
-  </encoder>
-</appender>
-
 <logger name="org.onap.policy.apex.executionlogging" level="info" additivity="false">
   <appender-ref ref="POLICY_APPENDER_STDOUT" />
   <appender-ref ref="FILE" />
@@ -48,7 +41,7 @@
 [source%nowrap,xml]
 ----
 <logger name="org.onap.policy.apex.executionlogging.TaskExecutionLogging" level="TRACE" additivity="false">
-  <appender-ref ref="STDOUT" />
+  <appender-ref ref="POLICY_APPENDER_STDOUT" />
 </logger>
 ----
 
diff --git a/src/site-docs/adoc/fragments/howto-logging/standard-configuration.adoc b/src/site-docs/adoc/fragments/howto-logging/standard-configuration.adoc
index a09b3d2..4cd4b9b 100644
--- a/src/site-docs/adoc/fragments/howto-logging/standard-configuration.adoc
+++ b/src/site-docs/adoc/fragments/howto-logging/standard-configuration.adoc
@@ -14,7 +14,7 @@
 == Standard Logging Configuration
 
 The standard logging configuration defines a context __APEX__, which is used in the standard output pattern.
-The location for log files is defined in the property `VAR_LOG` and set to `/var/log/apex`.
+The location for log files is defined in the property `VAR_LOG` and set to `/var/log/onap/policy/apex-pdp`.
 The standard status listener is set to __NOP__ and the overall logback configuration is set to no debug.
 
 [source%nowrap,xml,numbered]
@@ -23,7 +23,7 @@
   <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
 
   <contextName>Apex</contextName>
-  <property name="VAR_LOG" value="/var/log/ericsson/apex/" />
+  <property name="VAR_LOG" value="/var/log/onap/policy/apex-pdp/" />
 
   ...appenders
   ...loggers
@@ -49,38 +49,35 @@
 </root>
 ----
 
-The first appender is called `FILE`.
+The second appender is called `FILE`.
 It writes logs to a file `apex.log`.
 [source%nowrap,xml,numbered]
 ----
 <appender name="FILE" class="ch.qos.logback.core.FileAppender">
   <file>${VAR_LOG}/apex.log</file>
   <encoder>
-    <pattern>
-      %d %-5relative [procId=${processId}] [%thread] %-5level%logger{26} - %msg %n %ex{full}
-    </pattern>
+    <pattern>%d %-5relative [procId=${processId}] [%thread] %-5level %logger{26} - %msg %n %ex{full}</pattern>
   </encoder>
 </appender>
 ----
 
-The first appender is called `CTXT_FILE`.
+The third appender is called `CTXT_FILE`.
 It writes logs to a file `apex_ctxt.log`.
 [source%nowrap,xml,numbered]
 ----
 <appender name="CTXT_FILE" class="ch.qos.logback.core.FileAppender">
   <file>${VAR_LOG}/apex_ctxt.log</file>
   <encoder>
-    <pattern>
-      %d %-5relative [procId=${processId}] [%thread] %-5level%logger{26} - %msg %n %ex{full}
-    </pattern>
+    <pattern>%d %-5relative [procId=${processId}] [%thread] %-5level %logger{26} - %msg %n %ex{full}</pattern>
   </encoder>
 </appender>
 ----
 
 The last definitions are for specific loggers.
-The first logger captures all standard APEX classes, appends logs to `STDOUT` with the log level __info__.
-The second logger capture all standard APEX classes, appends logs to `FILE` with log level __info__.
-The third logger captures context monitoring classes, appends logs to `CTXT_FILE` with log level __trace__.
+The first logger captures all standard APEX classes.
+It is configured for log level __info__ and uses the standard output and file appenders.
+The second logger captures APEX context classes responsible for context monitoring.
+It is configured for log level __trace__ and uses the context file appender.
 
 [source%nowrap,xml,numbered]
 ----
diff --git a/src/site-docs/adoc/fragments/howto-write-logic/policy-examples.adoc b/src/site-docs/adoc/fragments/howto-write-logic/policy-examples.adoc
index 77769dc..cf582aa 100644
--- a/src/site-docs/adoc/fragments/howto-write-logic/policy-examples.adoc
+++ b/src/site-docs/adoc/fragments/howto-write-logic/policy-examples.adoc
@@ -18,7 +18,7 @@
 The example details the policy background, shows how to use the REST Editor to create a policy, and provides details for running the policies.
 The documentation can be found:
 
-* link:https://ericsson.github.io/apex-docs/modules/apex-domains/apex-domains.myfirstpolicy/MyFirstPolicyHowto.html[My-First-Policy on the APEX site]
+* link:https://ericsson.github.io/apex-docs/modules/examples/examples-myfirstpolicy/MyFirstPolicyHowto.html[My-First-Policy on the APEX site]
 * link:https://ericsson.github.io/apex-docs/docs-apex/html/HowTo-MyFirstPolicy.html[Stand-alone HTML]
 * link:https://ericsson.github.io/apex-docs/docs-apex/pdf/HowTo-MyFirstPolicy.pdf[Stand-alone PDF]
 
@@ -30,7 +30,7 @@
 The policy model here demonstrates virtually all APEX features: local context and policies controlling it, task selection logic and multiple tasks in a single state, AVRO schemas for context, AVOR schemas for events (trigger and local), and a CLI editor specification of the policy.
 The documentation can be found:
 
-* link:https://ericsson.github.io/apex-docs/modules/apex-domains/apex-domains.pcvs/vpnsla/policy.html[VPN SLA Policy on the APEX site]
+* link:https://ericsson.github.io/apex-docs/modules/examples/examples-pcvs/vpnsla/policy.html[VPN SLA Policy on the APEX site]
 
 
 == Decision Maker
@@ -40,5 +40,5 @@
 It also has local context to remember past decisions, and shows how to use that to no make the same decision twice in a row.
 The documentation can be found:
 
-* link:https://ericsson.github.io/apex-docs/modules/apex-domains/apex-domains.decisionmaker/index.html[Decision Maker on APEX site]
+* link:https://ericsson.github.io/apex-docs/modules/examples/examples-decisionmaker/index.html[Decision Maker on APEX site]
 
diff --git a/src/site-docs/adoc/fragments/install-guide/build-apex.adoc b/src/site-docs/adoc/fragments/install-guide/build-apex.adoc
index b773d97..8676d8f 100644
--- a/src/site-docs/adoc/fragments/install-guide/build-apex.adoc
+++ b/src/site-docs/adoc/fragments/install-guide/build-apex.adoc
@@ -15,9 +15,17 @@
 
 The examples in this document assume that the APEX source repositories are cloned to:
 
-- Unix, Cygwin: `/usr/local/src/apex`
-- Windows: `C:\dev\apex`
-- Cygwin: `/cygdrive/c/dev/apex`
+- Unix, Cygwin: `/usr/local/src/apex-pdp`
+- Windows: `C:\dev\apex-pdp`
+- Cygwin: `/cygdrive/c/dev/apex-pdp`
+
+[IMPORTANT]
+.A Build requires ONAP Nexus
+====
+APEX has a dependency to ONAP parent projects.
+You might need to adjust your Maven M2 settings.
+The most current settings can be found in the ONAP oparent repo: link:https://git.onap.org/oparent/plain/settings.xml[Settings].
+====
 
 [IMPORTANT]
 .A Build needs Space
@@ -47,14 +55,14 @@
 |
 [source%nowrap,sh,numbered]
 ----
-# cd /usr/local/src/apex
+# cd /usr/local/src/apex-pdp
 # mvn clean install -DskipTests
 ----
 |
 [source%nowrap,bat,numbered]
 ----
 >c:
->cd \dev\apex
+>cd \dev\apex-pdp
 >mvn clean install -DskipTests
 ----
 |====================
@@ -79,7 +87,7 @@
 |
 [source%nowrap,sh,numbered]
 ----
-# cd modules/apex-apps/apex-apps.uservice/apex-apps.uservice-packaging/apex-apps.uservice-package-full/target
+# cd packages/apex-pdp-package-full/target
 # ls -l
 ----
 
@@ -98,7 +106,7 @@
 |
 [source%nowrap,bat,numbered]
 ----
->cd modules\apex-apps\apex-apps.uservice\apex-apps.uservice-packaging\apex-apps.uservice-package-full\target
+>cd packages\apex-pdp-package-full\target
 >dir
 ----
 
diff --git a/src/site-docs/adoc/fragments/install-guide/configure.adoc b/src/site-docs/adoc/fragments/install-guide/configure.adoc
index 77c63a2..97388f8 100644
--- a/src/site-docs/adoc/fragments/install-guide/configure.adoc
+++ b/src/site-docs/adoc/fragments/install-guide/configure.adoc
@@ -56,14 +56,14 @@
 [source%nowrap,bash,numbered]
 ----
 # export APEX_USER=apexuser
-# cd /opt/ericsson/apex/apex
+# cd /opt/app/policy/apex-pdp/apex-pdp
 # export APEX_HOME=`pwd`
 ----
 
 [source%nowrap,tcsh,numbered]
 ----
 # setenv APEX_USER apexuser
-# cd /opt/ericsson/apex/apex
+# cd /opt/app/policy/apex-pdp/apex-pdp
 # setenv APEX_HOME `pwd`
 ----
 |
@@ -77,7 +77,7 @@
 ----
 # env \| grep APEX
 APEX_USER=apexuser
-APEX_HOME=/opt/ericsson/apex/apex
+APEX_HOME=/opt/app/policy/apex-pdp/apex-pdp
 ----
 |
 [source%nowrap,bat,numbered,subs="attributes+"]
@@ -125,7 +125,7 @@
 Edit the file `$APEX_HOME/etc/logback.xml` for any required changes.
 To change the log directory change the line
 
-`<property name="VAR_LOG" value="/var/log/ericsson/apex/" />`
+`<property name="VAR_LOG" value="/var/log/onap/policy/apex-pdp/" />`
 
 to
 
@@ -148,8 +148,8 @@
 |
 [source%nowrap,sh,numbered]
 ----
-mkdir -p /var/log/ericsson/apex
-chown -R apexuser:apexuser /var/log/ericsson/apex
+mkdir -p /var/log/onap/policy/apex-pdp
+chown -R apexuser:apexuser /var/log/onap/policy/apex-pdp
 ----
 |
 [source%nowrap,bat,numbered,subs="attributes+"]
diff --git a/src/site-docs/adoc/fragments/install-guide/docker.adoc b/src/site-docs/adoc/fragments/install-guide/docker.adoc
index be5273a..6f63956 100644
--- a/src/site-docs/adoc/fragments/install-guide/docker.adoc
+++ b/src/site-docs/adoc/fragments/install-guide/docker.adoc
@@ -13,248 +13,32 @@
 
 == Running APEX in Docker 
 
-This section explains how to create a Docker image that contains the base APEX package and shows how to run APEX in Docker.
-It also explains how to use the base APEX Docker image to create application docker images that contain both APEX and your application policies.
-
-We assume you have already installed Docker on your host.
-For instructions on how to install Docker, see the link:https://www.docker.com/community-edition[Get Started with Docker] page on the Docker web site.
+Since APEX is in ONAP, we provide a full virtualization environment for the engine.
 
 
-=== Create the APEX Base Docker Image
+=== Run in ONAP
 
-You need only perform this task once to create an APEX base image that you can use as a base for your applications from then on.
-This task sets up an Ubuntu Docker image and then installs Java and APEX on Ubuntu running in the Docker image.
+Running APEX from the ONAP docker repository only requires 2 commands:
 
-. Create an empty directory, here the directory is called `apex`, and change into that directory
-+
-[source%nowrap,bash,numbered]
+. Log into the ONAP docker repo
+[source%nowrap,sh,numbered]
 ----
-# mkdir apex
-# cd apex
+docker login -u docker -p docker nexus3.onap.org:10003
 ----
-+
-. Copy the APEX Debian package from the APEX download site into the directory
-. Open a text editor and create a file called `Dockerfile` in your directory
-. Paste the following text into the editor that is editing `Dockerfile`
-+
-[source%nowrap,bash,numbered,subs="attributes+"]
+. Run the APEX docker image
+[source%nowrap,sh,numbered]
 ----
-#
-# Docker file to build an image that runs APEX on Java 8 in Ubuntu
-#
-FROM ubuntu:16.04
-MAINTAINER <YOUR> <NAME> <YOUR>.<NAME>@ericsson.com
-
-RUN apt-get update && \
-	apt-get upgrade -y && \
-	apt-get install -y software-properties-common && \
-	add-apt-repository ppa:webupd8team/java -y && \
-	apt-get update && \
-	echo oracle-javax8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections && \
-	apt-get install -y oracle-java8-installer
-
-RUN mkdir /packages
-COPY apex-apps.uservice-packages-{release-version}-full.deb /packages
-RUN dpkg -i packages/apex-apps.uservice-packages-{release-version}-full.deb
-RUN rm /packages/apex-apps.uservice-packages-{release-version}-full.deb
-
-ENV PATH /opt/ericsson/apex/apex/bin:$PATH
-
-RUN apt-get clean
-
-RUN chown -R apexuser:apexuser /home/apexuser/*
-WORKDIR /home/apexuser
-
-----
-+
-. Replace the fields <YOUR> and <NAME> above with your name and email address
-. Save the `Dockerfile`
-. An example working base `Dockerfile` appears below
-+
-[source%nowrap,bash,numbered,subs="attributes+"]
-----
-#
-# Docker file to build an image that runs APEX on Java 8 in Ubuntu
-#
-FROM ubuntu:16.04
-MAINTAINER Sean Citizen sean.citizen@ericsson.com
-
-RUN apt-get update && \
-	apt-get upgrade -y && \
-	apt-get install -y software-properties-common && \
-	add-apt-repository ppa:webupd8team/java -y && \
-	apt-get update && \
-	echo oracle-javax8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections && \
-	apt-get install -y oracle-java8-installer
-
-RUN mkdir /packages
-COPY apex-apps.uservice-packages-{release-version}-full.deb /packages
-RUN dpkg -i packages/apex-apps.uservice-packages-{release-version}-full.deb
-RUN rm /packages/apex-apps.uservice-packages-{release-version}-full.deb
-
-ENV PATH /opt/ericsson/apex/apex/bin:$PATH
-
-RUN apt-get clean
-
-RUN chown -R apexuser:apexuser /home/apexuser/*
-WORKDIR /home/apexuser
-----
-+
-. Create and tag the base Docker image for APEX using this command
-+
-[source%nowrap,bash,numbered]
-----
-docker build -t apex/base . 
-docker tag apex/base apex/base:latest
-docker tag apex/base apex/base:{release-version}
-----
-+
-. Test the APEX Docker base image with the following command, APEX will start a sample policy:
-+
-[source%nowrap,bash,numbered]
-----
-docker run --name apex --user=apexuser:apexuser -it --rm -p 12345:12345 apex/base apexEngine.sh -c examples/config/SampleDomain/Stdin2StdoutJsonEventJavascript.json
-----
-+
-. Paste the following event into the shell and the APEX Policy will process the event
-+
-[source%nowrap,json,numbered]
-----
-{
-  "nameSpace": "org.onap.policy.apex.sample.events",
-  "name": "Event0000",
-  "version": "0.0.1",
-  "source": "test",
-  "target": "apex",
-  "TestSlogan": "Test slogan for External Event0",
-  "TestMatchCase": 0,
-  "TestTimestamp": 1469781869269,
-  "TestTemperature": 9080.866
-}
-----
-+
-. APEX returns the following event
-+
-[source%nowrap,json,numbered]
-----
-{
-  "nameSpace" : "org.onap.policy.apex..sample.events",
-  "name" : "Event0004",
-  "version" : "0.0.1",
-  "source" : "",
-  "target" : "",
-  "TestActCaseSelected" : 3,
-  "TestActStateTime" : 1481215910429,
-  "TestTemperature" : 9080.866,
-  "TestDecideCaseSelected" : 1,
-  "TestMatchCaseSelected" : 2,
-  "TestTimestamp" : 1469781869269,
-  "TestDecideStateTime" : 1481215910425,
-  "TestMatchCase" : 0,
-  "TestSlogan" : "Test slogan for External Event0",
-  "TestEstablishCaseSelected" : 0,
-  "TestEstablishStateTime" : 1481215910421,
-  "TestMatchStateTime" : 1481215910415
-}
-----
-+
-. You now have built and tested an APEX base Docker image.
-  You can connect the APEX Deployment and Monitoring servlet to this APEX engine instance. For example, assuming the APEX Deployment and Monitoring servlet is deploying on the localhost computer on port 8080 you can use the following URL: 
-+
-----
-http://localhost:8080/apex-services.client-{release-version}/?hostname=0.0.0.0&port=12345
+docker run -it --rm  nexus3.onap.org:10003/onap/policy-apex-pdp:latest
 ----
 
-=== Create an APEX Application Docker Image using the APEX Base Docker Image
 
-We assume you have created an APEX application, that you wish to use static deployment, and that you have APEX metadata to add to the base APEX Docker image.
+=== Build a Docker Image
 
-. 1.Create an empty directory for your application, here the directory is called `myApplication`, and change into that directory
-+
-[source%nowrap,bash,numbered]
-----
-mkdir myApplication
-cd myApplication
-----
-+
-. Copy the directories containing your application metadata into that directory, for example, if you have three directories called `myappDirectory0`, `myappDirectory1`, and `myappDirectoryn`, you will have the following directory structure
-+
-[source%nowrap,bash,numbered]
-----
-ls | cat
-myappDirectory0
-myappDirectory1
-myappDirectoryn
-----
-+
-. Open a text editor and create a file called `Dockerfile` in your application directory
-. Paste the following text into the editor that is editing `Dockerfile`
-+
-[source%nowrap,bash,numbered]
-----
-#
-# Docker file to build an image that runs APEX Applications on Java 8 in Ubuntu
-#
-FROM apex/base:{release-version}
-MAINTAINER <YOUR> <NAME> <YOUR>.<NAME>@ericsson.com
+Alternatively, one can use the Dockerfile defined in the Docker package to build an image.
 
-# Copy your application metadata
-COPY <MY_APP_DIRECTORY_0> /home/apexuser/<MY_APP_DIRECTORY_0>
-COPY <MY_APP_DIRECTORY_1> /home/apexuser/<MY_APP_DIRECTORY_1>
-COPY <MY_APP_DIRECTORY_N> /home/apexuser/<MY_APP_DIRECTORY_N>
-
-run chown -R apexuser:apexuser /home/apexuser/*
+.APEX Dockerfile
+[source%nowrap,sh,numbered,subs="attributes+"]
 ----
-+
-. Edit the template fields
-  .. Replace the fields <YOUR> and <NAME> with your name and email address
-  .. Replace the <MY_APP_DIRECTORY_x> fields with the names of your actual application directory names, myappDirectoryx in our example here. Do this for all application directories you have.
-. Save the `Dockerfile`
-. An example working application `Dockerfile` appears below
-+
-[source%nowrap,bash,numbered]
+include::{adsite-packages-docker-dir}/main/docker/Dockerfile[APEX Dockerfile]
 ----
-#
-# Docker file to build an image that runs APEX Applications on Java 8 in Ubuntu
-#
-FROM apex/base:{release-version}
-MAINTAINER Sean Citizen sean.citizen@ericsson.com
-
-# Copy your application metadata
-COPY myappDirectory0 /home/apexuser/myappDirectory0
-COPY myappDirectory1 /home/apexuser/myappDirectory1
-COPY myappDirectoryn /home/apexuser/myappDirectoryn
-
-run chown -R apexuser:apexuser /home/apexuser/*
-----
-+
-. Create the Docker image for your APEX application using this command
-+
-[source%nowrap,bash,numbered]
-----
-docker build -t apex/myapplication .
-----
-+
-. Test the APEX Docker base image with the following command, APEX will start to a bash shell in the `apexuser` home directory:
-+
-[source%nowrap,bash,numbered]
-----
-docker run --name myapplication -it --rm -p 12345:12345 apex/myapplication apexBash.sh
-----
-+
-. Check that your application directories have been created, the command returns the directory list:
-+
-[source%nowrap,bash,numbered]
-----
-> pwd
-/opt/ericsson
-> ls -l
-total 16
-drwxr-xr-x 8 apexuser apexuser 4096 Dec  9 13:28 examples
-drwxr-xr-x 2 apexuser apexuser 4096 Dec  9 13:28 myappDirectory0
-drwxr-xr-x 2 apexuser apexuser 4096 Dec  9 13:28 myappDirectory1
-drwxr-xr-x 2 apexuser apexuser 4096 Dec  9 13:28 myappDirectoryn
-----
-+
-. You now have built an APEX Application docker image and you can use the `apexEngine.sh` command to run your application using the appropriate configuration file for your application.
 
diff --git a/src/site-docs/adoc/fragments/install-guide/get-source.adoc b/src/site-docs/adoc/fragments/install-guide/get-source.adoc
index 11786da..0aa97db 100644
--- a/src/site-docs/adoc/fragments/install-guide/get-source.adoc
+++ b/src/site-docs/adoc/fragments/install-guide/get-source.adoc
@@ -12,16 +12,16 @@
 //
 
 == Get the APEX Source Code
-The APEX source code is hosted in as project on Github link:https://github.com/Ericsson/apex[Ericsson:apex].
+
+The first APEX source code was hosted on Github in January 2018.
+By the end of 2018, APEX was added as a project in the ONAP Policy Framework, released later in the ONAP Casablanca release.
+
+The APEX source code is hosted in ONAP as project APEX.
 The current stable version is in the master branch.
-Simply clone the master branch from Github using either HTTPS (first example below) or SSH (second example below).
+Simply clone the master branch from ONAP using HTTPS.
 
 [source%nowrap,sh,numbered]
 ----
-git clone https://github.com/Ericsson/apex.git
+git clone https://gerrit.onap.org/r/policy/apex-pdp
 ----
 
-[source%nowrap,sh,numbered]
-----
-git clone git@github.com:Ericsson/apex.git
-----
diff --git a/src/site-docs/adoc/fragments/install-guide/install-monitoring.adoc b/src/site-docs/adoc/fragments/install-guide/install-monitoring.adoc
deleted file mode 100644
index a8bf3d4..0000000
--- a/src/site-docs/adoc/fragments/install-guide/install-monitoring.adoc
+++ /dev/null
@@ -1,99 +0,0 @@
-//
-// ============LICENSE_START=======================================================
-//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-// ================================================================================
-// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-// 
-// SPDX-License-Identifier: CC-BY-4.0
-// ============LICENSE_END=========================================================
-//
-// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
-//
-
-== Installing the Web Monitoring Application
-
-APEX comes with a deployment and monitoring application realized as a servlet.
-This requires a _full_ installation of APEX.
-This requires a web server that can execute `war` web archives.
-We recommend to use link:https://tomcat.apache.org/[Apache Tomcat], however other web servers can be used as well.
-
-Install Apache Tomcat including the `Manager App`, see link:https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html#Configuring_Manager_Application_Access[V9.0 Docs] for details.
-Start the Tomcat service, or make sure that Tomcat is running.
-Locate the APEX monitoring application.
-
-[source%nowrap,sh,numbered,subs="attributes+"]
-----
-$APEX_HOME/war/apex-services.client.monitoring-{release-version}.war
-----
-
-[source%nowrap,bat,numbered,subs="attributes+"]
-----
-%APEX_HOME%\war\apex-services.client.monitoring-{release-version}.war
-----
-
-There are multiple ways to install the APEX monitoring application:
-
-- copy the `.war` file into the Tomcat `webapps` folder
-- use the Tomcat `Manager App` to deploy via the web interface
-- deploy using a REST call to Tomcat
-
-For details on how to install `war` files please consult the link:https://tomcat.apache.org/tomcat-9.0-doc/index.html[Tomcat Documentation] or the link:https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html[Manager App HOW-TO].
-Once you installed the APEX monitoring application (and wait for sufficient time for Tomcat to finalize the installation), open the `Manager App` in Tomcat.
-You should see the APEX monitoring application being installed and running.
-
-image::install-guide/tomcat-installed.png[Tomcat Application Manager with APEX Monitoring Application]
-
-In case of errors, examine the log files in the Tomcat log directory.
-In a conventional install, those log files are in the logs directory where Tomcat is installed.
-
-Once the APEX monitoring application is installed, start an APEX engine with the `SampleDomain` configuration as described above.
-Wait until the engine is fully started.
-Then open a browser (or a new tab) and use the following URL to connect to the APEX monitoring application.
-Change the values for the Tomcat port (`10080` in the example), the APEX application version (`{release-version}` in the example), and the APEX management port (`12345` in the example, taken from the example configuration) to your local settings.
-If your browser is not opened on the same host as the APEX engine runs, change `localhost` to the host name with the APEX engine.
-
-[source%nowrap,url,subs="attributes+"]
-----
-http://localhost:10080/apex-services.client-{release-version}/?hostname=localhost&port=12345
-----
-
-The browser will now show the APEX monitoring application.
-
-image::install-guide/monitoring-app.png[APEX Monitoring and Deployment Application]
-
-Now send some events to the APEX engine.
-The configuration is for standard input, so simply paste the following event into the APEX engine console.
-
-[source%nowrap,json,numbered]
-----
-{
-  "nameSpace": "org.onap.policy.apex.sample.events",
-  "name": "Event0000",
-  "version": "0.0.1",
-  "source": "test",
-  "target": "apex",
-  "TestSlogan": "Test slogan for External Event0",
-  "TestMatchCase": 0,
-  "TestTimestamp": 1469781869269,
-  "TestTemperature": 9080.866
-}
-----
-
-When events are sent to APEX, the monitoring application will show all engine status changes.
-The following screen shot show the engine status after passing several events into the engine.
-
-image::install-guide/monitoring-app-status.png[APEX Monitoring: status]
-
-To terminate this setting, first use `CTRL+C` in the engine console to terminate the engine.
-Within a few seconds, the APEX monitoring application will terminate as well with a connection error:
-
-----
-Error connecting to Apex Engine Service at localhost:12345
-cound not handshake with server localhost:12345 
-See detailed message in log
-----
-
-Terminate the browser now (or the tab with the application).
-Finally, if you do not want to use Tomcat for any other applications, terminate the Tomcat server as well.
-
diff --git a/src/site-docs/adoc/fragments/install-guide/install-resteditor.adoc b/src/site-docs/adoc/fragments/install-guide/install-resteditor.adoc
deleted file mode 100644
index 721ede0..0000000
--- a/src/site-docs/adoc/fragments/install-guide/install-resteditor.adoc
+++ /dev/null
@@ -1,60 +0,0 @@
-//
-// ============LICENSE_START=======================================================
-//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-// ================================================================================
-// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-// 
-// SPDX-License-Identifier: CC-BY-4.0
-// ============LICENSE_END=========================================================
-//
-// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
-//
-
-== Installing the REST Editor
-
-APEX comes with a RESR Editor application realized as a servlett.
-This requires a _full_ installation of APEX.
-This requires a web server that can execute `war` web archives.
-We recommend to use link:https://tomcat.apache.org/[Apache Tomcat], however other web servers can be used as well.
-
-Install Apache Tomcat including the `Manager App`, see link:https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html#Configuring_Manager_Application_Access[V9.0 Docs] for details.
-Start the Tomcat service, or make sure that Tomcat is running.
-Locate the APEX monitoring application in your local APEX installation.
-
-[source%nowrap,sh,numbered,subs="attributes+"]
-----
-$APEX_HOME/war/apex-services.client-editor-{release-version}.war
-----
-
-[source%nowrap,bat,numbered,subs="attributes+"]
-----
-%APEX_HOME%\war\apex-services.client-editor-{release-version}.war
-----
-
-There are multiple ways to install the APEX monitoring application:
-
-- copy the `.war` file into the Tomcat `webapps` folder
-- use the Tomcat `Manager App` to deploy via the web interface
-- deploy using a REST call to Tomcat
-
-For details on how to install `war` files please consult the link:https://tomcat.apache.org/tomcat-9.0-doc/index.html[Tomcat Documentation] or the link:https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html[Manager App HOW-TO].
-Once you installed the APEX monitoring application (and wait for sufficient time for Tomcat to finalize the installation), open the `Manager App` in Tomcat.
-You should see the APEX REST Editor application being installed and running.
-
-In case of errors, examine the log files in the Tomcat log directory.
-In a conventional install, those log files are in the logs directory where Tomcat is installed.
-
-Once the APEX REST Editor is installed, open a browser (or a new tab) and use the following URL to connect to the APEX monitoring application.
-Change the values for the Tomcat port (`10080` in the example), the APEX REST EDITOR version (`{release-version}` in the example), and the APEX management port (`12345` in the example, taken from the example configuration) to your local settings.
-If your browser is not opened on the same host as the APEX engine runs, change `localhost` to the host name with the APEX engine.
-
-[source%nowrap,url,subs="attributes+"]
-----
-http://localhost:10080/apex%2Dauth.rest%2D{release-version}/
-----
-
-The browser will now show the APEX REST Editor.
-
-Terminate the browser now (or the tab with the application).
-Finally, if you do not want to use Tomcat for any other applications, terminate the Tomcat server as well.
diff --git a/src/site-docs/adoc/fragments/install-guide/install-wars.adoc b/src/site-docs/adoc/fragments/install-guide/install-wars.adoc
new file mode 100755
index 0000000..2de1e0b
--- /dev/null
+++ b/src/site-docs/adoc/fragments/install-guide/install-wars.adoc
@@ -0,0 +1,46 @@
+//
+// ============LICENSE_START=======================================================
+//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+// 
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+== Installing WAR Applications
+APEX comes with a set of WAR files.
+These are complete applications that can be installed and run in an application server.
+All of these applications are realized as servlets.
+You can find the WAR applications in `$APEX_HOME/war` (UNIX, Cygwin) or `%APEX_HOME%\war` (Windows).
+
+Installing and using the WAR applications requires a web server that can execute `war` web archives.
+We recommend to use link:https://tomcat.apache.org/[Apache Tomcat], however other web servers can be used as well.
+
+Install Apache Tomcat including the `Manager App`, see link:https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html#Configuring_Manager_Application_Access[V9.0 Docs] for details.
+Start the Tomcat service, or make sure that Tomcat is running.
+
+There are multiple ways to install the APEX WAR applications:
+
+- copy the `.war` file into the Tomcat `webapps` folder
+- use the Tomcat `Manager App` to deploy via the web interface
+- deploy using a REST call to Tomcat
+
+For details on how to install `war` files please consult the link:https://tomcat.apache.org/tomcat-9.0-doc/index.html[Tomcat Documentation] or the link:https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html[Manager App HOW-TO].
+Once you installed an APEX WAR application (and wait for sufficient time for Tomcat to finalize the installation), open the `Manager App` in Tomcat.
+You should see the APEX WAR application being installed and running.
+
+In case of errors, examine the log files in the Tomcat log directory.
+In a conventional install, those log files are in the logs directory where Tomcat is installed.
+
+The current APEX version provides the following WAR applications:
+
+* client-deployment-{release-version}.war - a client to deploy new policy models to a running engine
+* client-editor-{release-version}.war - the standard policy REST editor GUI
+* client-monitoring-{release-version}.war - a client for monitoring a running APEX engine
+* client-full-{release-version}.war - a full client with a one-stop-access to deployment, monitoring, and REST editor
+* examples-servlet-{release-version}.war - an example APEX servlet
+
diff --git a/src/site-docs/adoc/fragments/install-guide/install.adoc b/src/site-docs/adoc/fragments/install-guide/install.adoc
index a1e9534..57d7873 100644
--- a/src/site-docs/adoc/fragments/install-guide/install.adoc
+++ b/src/site-docs/adoc/fragments/install-guide/install.adoc
@@ -21,9 +21,9 @@
 
 === Install with RPM and DPKG
 The install distributions of APEX automatically install the system.
-The installation directory is `/opt/ericsson/apex`.
-Log files are located in `/var/log/ericsson/apex`.
-The latest APEX version will be available as `/opt/ericsson/apex/apex`.
+The installation directory is `/opt/app/policy/apex-pdp`.
+Log files are located in `/var/log/onap/policy/apex-pdp`.
+The latest APEX version will be available as `/opt/app/policy/apex-pdp/apex-pdp`.
 
 For the installation, a new user `apexuser` and a new group `apexuser` will be created.
 This user owns the installation directories and the log file location.
@@ -35,7 +35,7 @@
 |
 [source%nowrap,sh,numbered,subs="attributes+"]
 ----
-# sudo rpm -i apex-apps.uservice-packages-{release-version}-full.rpm
+# sudo rpm -i apex-pdp-package-full-{release-version}.rpm
 ********************preinst*******************
 arguments 1
 **********************************************
@@ -54,10 +54,10 @@
 |
 [source%nowrap,sh,numbered,subs="attributes+"]
 ----
-# sudo dpkg -i apex-apps.uservice-packages-{release-version}-full.deb
+# sudo dpkg -i apex-pdp-package-full-{release-version}.deb
 Selecting previously unselected package apex-uservice.
 (Reading database ... 288458 files and directories currently installed.)
-Preparing to unpack apex-apps.uservice-packages-{release-version}-full.deb ...
+Preparing to unpack apex-pdp-package-full-{release-version}.deb ...
 ********************preinst*******************
 arguments install
 **********************************************
@@ -86,8 +86,8 @@
 # mkdir apex
 # cd apex
 # mkdir apex-full-{release-version}
-# tar xvfz ~/Downloads/apex-apps.uservice-packages-{release-version}-full.tar.gz -C apex-full-{release-version}
-# ln -s apex apex-apps.uservice-packages-{release-version}
+# tar xvfz ~/Downloads/apex-pdp-package-full-{release-version}.tar.gz -C apex-full-{release-version}
+# ln -s apex apex-pdp-package-full-{release-version}
 ----
 
 
@@ -104,8 +104,6 @@
 
 Inside the new APEX folder you see the main directories: `bin`, `etc`, `examples`, `lib`, and `war`
 
-image::install-guide/win-extracted.png[Extracted APEX distribution]
-
 Once extracted, please rename the created folder to `apex-full-{release-version}`.
 This will keep the directory name in line with the rest of this documentation.
 
@@ -119,7 +117,7 @@
 ----
 >c:
 >cd \apex
->"\Program Files\7-Zip\7z.exe" x apex-apps.uservice-packages-{release-version}-full.tar.gz -so | "\Program Files\7-Zip\7z.exe" x -aoa -si -ttar -o"apex-full-{release-version}"
+>"\Program Files\7-Zip\7z.exe" x apex-pdp-package-full-{release-version}.tar.gz -so | "\Program Files\7-Zip\7z.exe" x -aoa -si -ttar -o"apex-full-{release-version}"
 ----
 
 APEX is now installed in the folder `C:\apex\apex-full-{release-version}`.
@@ -188,7 +186,7 @@
 |
 [source%nowrap,sh,numbered]
 ----
-# cd modules/apex-apps/apex-apps.uservice/apex-apps.uservice-packaging/apex-apps.uservice-package-full/target
+# cd packages/apex-pdp-package-full/target
 # ls -l
 ----
 
@@ -208,7 +206,7 @@
 |
 [source%nowrap,bat,numbered]
 ----
->cd modules\apex-apps\apex-apps.uservice\apex-apps.uservice-packaging\apex-apps.uservice-package-full\target
+>cd packages\apex-pdp-package-full\target
 >dir
 ----
 
diff --git a/src/site-docs/adoc/fragments/install-guide/layout.adoc b/src/site-docs/adoc/fragments/install-guide/layout.adoc
index ef3d1cf..bbb2102 100644
--- a/src/site-docs/adoc/fragments/install-guide/layout.adoc
+++ b/src/site-docs/adoc/fragments/install-guide/layout.adoc
@@ -17,8 +17,8 @@
 
 ----
 $APEX_HOME
-    ├───bin					<1>
-    ├───etc					<2>
+    ├───bin				<1>
+    ├───etc				<2>
     │   ├───editor
     │   ├───hazelcast
     │   ├───infinispan
@@ -27,11 +27,13 @@
     │   ├───config			<4>
     │   ├───docker			<5>
     │   ├───events			<6>
-    │   ├───models			<7>
-    │   └───scripts			<8>
-    ├───lib					<9>
-    │   └───applications	<10>
-    └───war					<11>
+    │   ├───html			<7>
+    │   ├───models			<8>
+    │   └───scripts			<9>
+    ├───lib				<10>
+    │   └───applications		<11>
+    └───war				<12>
+
 ----
 <1> binaries, mainly scripts (bash and bat) to start the APEX engine and applications
 <2> configuration files, such as logback (logging) and third party library configurations
@@ -39,9 +41,10 @@
 <4> configurations for the examples (with sub directories for individual examples)
 <5> Docker files and additional Docker instructions for the exampples
 <6> example events for the examples (with sub directories for individual examples)
-<7> the policy models, generated for each example (with sub directories for individual examples)
-<8> additional scripts for the examples (with sub directories for individual examples)
-<9> the library folder with all Java JAR files
-<10> applications, also known as jar with dependencies (or fat jars), individually deployable
-<11> WAR files for web applications
+<7> HTML files for some examples, e.g. the Decisionmaker example
+<8> the policy models, generated for each example (with sub directories for individual examples)
+<9> additional scripts for the examples (with sub directories for individual examples)
+<10> the library folder with all Java JAR files
+<11> applications, also known as jar with dependencies (or fat jars), individually deployable
+<12> WAR files for web applications
 
diff --git a/src/site-docs/adoc/fragments/install-guide/verify.adoc b/src/site-docs/adoc/fragments/install-guide/verify.adoc
index 782c272..6774a84 100644
--- a/src/site-docs/adoc/fragments/install-guide/verify.adoc
+++ b/src/site-docs/adoc/fragments/install-guide/verify.adoc
@@ -14,13 +14,10 @@
 == Verify the APEX Installation
 When APEX is installed and all settings are realized, the installation can be verified.
 
-=== Verify a Minimal Installation
-The minimal installation does not come with any configuration or policy model.
-It is therefore not possible to test all APEX features, or an engine running with policies.
-
-However, one can verify that the engine starts up to the point where it tries to load a configuration.
-
+=== Verify Installation - run Engine
+A simple verification of an APEX installation can be done by simply starting the APEX engine without any configuration.
 On Unix (or Cygwin) start the engine using `$APEX_HOME/bin/apexEngine.sh`.
+On Windows start the engine using `%APEX_HOME%\bin\apexEngine.bat`.
 The engine will fail to fully start.
 However, if the output looks similar to the following line, the APEX installation is realized.
 
@@ -28,22 +25,26 @@
 ----
 Starting Apex service with parameters [] . . .
 start of Apex service failed: Apex configuration file was not specified as an argument
-2017-07-28 13:18:44,266 Apex [main] ERROR c.e.a.service.engine.main.ApexMain - start of Apex service failed:
-----
+2018-09-03 13:11:33,914 Apex [main] ERROR o.o.p.a.service.engine.main.ApexMain - start of Apex service failed
+org.onap.policy.apex.model.basicmodel.concepts.ApexException: Apex configuration file was not specified as an argument
+        at org.onap.policy.apex.service.engine.main.ApexCommandLineArguments.validateReadableFile(ApexCommandLineArguments.java:267)
+        at org.onap.policy.apex.service.engine.main.ApexCommandLineArguments.validate(ApexCommandLineArguments.java:161)
+        at org.onap.policy.apex.service.engine.main.ApexMain.<init>(ApexMain.java:68)
+        at org.onap.policy.apex.service.engine.main.ApexMain.main(ApexMain.java:165)
+usage: org.onap.policy.apex.service.engine.main.ApexMain [options...]
+options
+-c,--config-file <CONFIG_FILE>the full path to the configuration file to use, the configuration file must be a Json file
+                              containing the Apex configuration parameters
+-h,--help                     outputs the usage of this command
+-m,--model-file <MODEL_FILE>  the full path to the model file to use, if set it overrides the model file set in the
+                              configuration file
+-v,--version                  outputs the version of Apex
 
-On Windows start the engine using `%APEX_HOME%\bin\apexEngine.bat`.
-The engine will fail to fully start.
-However, if the output looks similar to the following line, the APEX installation is realized.
-
-[source%nowrap,bat,numbered]
-----
-Starting Apex service with parameters [] . . .
-start of Apex service failed: Apex configuration file was not specified as an argument
-2017-07-28 13:18:44,266 Apex [main] ERROR c.e.a.service.engine.main.ApexMain - start of Apex service failed:
 ----
 
 
-=== Verify a Full Installation - run an Example
+
+=== Verify Installation - run an Example
 A full APEX installation comes with several examples.
 Here, we can fully verify the installation by running one of the examples.
 
@@ -55,7 +56,7 @@
 ----
 # $APEX_HOME/bin/apexEngine.sh -c $APEX_HOME/examples/config/SampleDomain/Stdin2StdoutJsonEventJava.json # <1>
 # $APEX_HOME/bin/apexEngine.sh -c C:/apex/apex-full-{release-version}/examples/config/SampleDomain/Stdin2StdoutJsonEventJava.json # <2>
->%APEX_HOME%\bin\apexEngine.bat -c %APEX_HOME%\examples\config\SampleDomain\Stdin2StdoutJsonEventJava.json @@ <3>
+>%APEX_HOME%\bin\apexEngine.bat -c %APEX_HOME%\examples\config\SampleDomain\Stdin2StdoutJsonEventJava.json :: <3>
 ----
 <1> UNIX
 <2> Cygwin
@@ -67,12 +68,19 @@
 
 [source%nowrap,sh,numbered]
 ----
-2017-07-28 13:20:54,673 Apex [main] INFO c.e.a.s.engine.runtime.EngineService - engine model SamplePolicyModelJAVA:0.0.1 added to the engine-AxArtifactKey:(name=MyApexEngine-3,version=0.0.1)
-2017-07-28 13:20:54,675 Apex [Apex-apex-engine-service-0:0] INFO c.e.a.s.engine.runtime.EngineService - Engine AxArtifactKey:(name=MyApexEngine-0,version=0.0.1) processing ...
-2017-07-28 13:20:54,677 Apex [Apex-apex-engine-service-0:1] INFO c.e.a.s.engine.runtime.EngineService - Engine AxArtifactKey:(name=MyApexEngine-1,version=0.0.1) processing ...
-2017-07-28 13:20:54,677 Apex [Apex-apex-engine-service-0:2] INFO c.e.a.s.engine.runtime.EngineService - Engine AxArtifactKey:(name=MyApexEngine-2,version=0.0.1) processing ...
-2017-07-28 13:20:54,677 Apex [Apex-apex-engine-service-0:3] INFO c.e.a.s.engine.runtime.EngineService - Engine AxArtifactKey:(name=MyApexEngine-3,version=0.0.1) processing ...
-2017-07-28 13:20:54,680 Apex [main] INFO c.e.a.s.e.r.impl.EngineServiceImpl - Added the action listener to the engine
+Starting Apex service with parameters [-c, v:/dev/ericsson/apex/onap/apex-pdp/packages/apex-pdp-package-full/target/install_hierarchy/examples/config/SampleDomain/Stdin2StdoutJsonEventJava.json] . . .
+2018-09-05 15:16:42,800 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Created apex engine MyApexEngine-0:0.0.1 .
+2018-09-05 15:16:42,804 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Created apex engine MyApexEngine-1:0.0.1 .
+2018-09-05 15:16:42,804 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Created apex engine MyApexEngine-2:0.0.1 .
+2018-09-05 15:16:42,805 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Created apex engine MyApexEngine-3:0.0.1 .
+2018-09-05 15:16:42,805 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - APEX service created.
+2018-09-05 15:16:43,962 Apex [main] INFO o.o.p.a.s.e.e.EngDepMessagingService - engine<-->deployment messaging starting . . .
+2018-09-05 15:16:43,963 Apex [main] INFO o.o.p.a.s.e.e.EngDepMessagingService - engine<-->deployment messaging started
+2018-09-05 15:16:44,987 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Registering apex model on engine MyApexEngine-0:0.0.1
+2018-09-05 15:16:45,112 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Registering apex model on engine MyApexEngine-1:0.0.1
+2018-09-05 15:16:45,113 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Registering apex model on engine MyApexEngine-2:0.0.1
+2018-09-05 15:16:45,113 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Registering apex model on engine MyApexEngine-3:0.0.1
+2018-09-05 15:16:45,120 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Added the action listener to the engine
 Started Apex service
 ----
 
@@ -107,23 +115,23 @@
 [source%nowrap,json,numbered]
 ----
 {
-  "nameSpace" : "org.onap.policy.apex.sample.events",
-  "name" : "Event0004",
-  "version" : "0.0.1",
-  "source" : "Act",
-  "target" : "Outside",
-  "TestActCaseSelected" : 1,
-  "TestActStateTime" : 1499280954832,
-  "TestTemperature" : 9080.866,
-  "TestDecideCaseSelected" : 2,
-  "TestMatchCaseSelected" : 2,
-  "TestTimestamp" : 1469781869269,
-  "TestDecideStateTime" : 1499280954831,
-  "TestMatchCase" : 0,
-  "TestSlogan" : "Test slogan for External Event0",
-  "TestEstablishCaseSelected" : 1,
-  "TestEstablishStateTime" : 1499280954831,
-  "TestMatchStateTime" : 1499280954828
+  "name": "Event0004",
+  "version": "0.0.1",
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "source": "Act",
+  "target": "Outside",
+  "TestActCaseSelected": 2,
+  "TestActStateTime": 1536157104627,
+  "TestDecideCaseSelected": 0,
+  "TestDecideStateTime": 1536157104625,
+  "TestEstablishCaseSelected": 0,
+  "TestEstablishStateTime": 1536157104623,
+  "TestMatchCase": 0,
+  "TestMatchCaseSelected": 1,
+  "TestMatchStateTime": 1536157104620,
+  "TestSlogan": "Test slogan for External Event0",
+  "TestTemperature": 9080.866,
+  "TestTimestamp": 1469781869269
 }
 ----
 |====================
@@ -147,20 +155,20 @@
 ----
 
 The script will start a simple web server (link:https://javaee.github.io/grizzly/[Grizzly]) and deploy a `war` web archive in it.
-Once the editor is started, it will be available on `localhost:18988`.
+Once the editor is started, it will be available on `localhost:18989`.
 The last few line of the messages should be:
 
 [source%nowrap,sh,numbered]
 ----
-Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18988/apex/, TTL=-1sec], State=READY) starting at http://localhost:18988/apex/ . . .
-Jul 28, 2017 1:22:15 PM org.glassfish.grizzly.http.server.NetworkListener start
-INFO: Started listener bound to [localhost:18988]
-Jul 28, 2017 1:22:15 PM org.glassfish.grizzly.http.server.HttpServer start
+Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . .
+Sep 05, 2018 10:35:57 PM org.glassfish.grizzly.http.server.NetworkListener start
+INFO: Started listener bound to [localhost:18989]
+Sep 05, 2018 10:35:57 PM org.glassfish.grizzly.http.server.HttpServer start
 INFO: [HttpServer] Started.
-Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18988/apex/, TTL=-1sec], State=RUNNING) started at http://localhost:18988/apex/
+Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/
 ----
 
-Now open a browser (Firefox, Chrome, Opera, Internet Explorer) and use the URL `http://localhost:18988/`.
+Now open a browser (Firefox, Chrome, Opera, Internet Explorer) and use the URL `http://localhost:18989/`.
 This will connect the browser to the started REST editor.
 The start screen should be as follows.
 
diff --git a/src/site-docs/adoc/fragments/reference-publications/5g-2015.adoc b/src/site-docs/adoc/fragments/reference-publications/5g-2015.adoc
index 6013e7c..2a95421 100644
--- a/src/site-docs/adoc/fragments/reference-publications/5g-2015.adoc
+++ b/src/site-docs/adoc/fragments/reference-publications/5g-2015.adoc
@@ -35,12 +35,12 @@
 [source,bibtex]
 ----
 @article{VanDerMeer2015b,
-	Author = {van der Meer, Sven},
-	Journal = {IEEE First International 5G Summit},
-	Month = {May},
-	Title = {{5G \& Autonomic Networking - Challenges in closing the Loop}},
-	Url = {https://ieeetv.ieee.org/mobile/video/princeton-5g-summit-sven-van-der-meer-keynote-automatic-automation},
-	Year = {2015},
+    Author      = {van der Meer, Sven},
+    Journal     = {IEEE First International 5G Summit},
+    Month       = may,
+    Title       = {{5G \& Autonomic Networking - Challenges in closing the Loop}},
+    Year        = {2015}
+}
 ----
 
 |===
diff --git a/src/site-docs/adoc/fragments/reference-publications/cnsm-2014.adoc b/src/site-docs/adoc/fragments/reference-publications/cnsm-2014.adoc
index 27042a9..feb6e38 100644
--- a/src/site-docs/adoc/fragments/reference-publications/cnsm-2014.adoc
+++ b/src/site-docs/adoc/fragments/reference-publications/cnsm-2014.adoc
@@ -33,19 +33,13 @@
 [source,bibtex]
 ----
 @inproceedings{DBLP:conf/cnsm/KeeneyMF14,
-  author    = {John Keeney and
-               Sven van der Meer and
-               Liam Fallon},
-  title     = {Towards Real-time Management of
-               Virtualized Telecommunication Networks},
-  booktitle = {10th International Conference on Network and Service Management,
-               {CNSM} 2014, Rio de Janeiro, Brazil, November 17-21, 2014},
+  author    = {John Keeney and Sven van der Meer and Liam Fallon},
+  title     = {Towards Real-time Management of Virtualized Telecommunication Networks},
+  booktitle = {10th International Conference on Network and Service Management, {CNSM} 2014, Rio de Janeiro, Brazil, November 17-21, 2014},
   pages     = {388--393},
   year      = {2014},
   crossref  = {DBLP:conf/cnsm/2014},
-  url       = {https://doi.org/10.1109/CNSM.2014.7014200},
   doi       = {10.1109/CNSM.2014.7014200},
-  timestamp = {Tue, 23 May 2017 01:11:56 +0200},
   biburl    = {http://dblp.org/rec/bib/conf/cnsm/KeeneyMF14},
   bibsource = {dblp computer science bibliography, http://dblp.org}
 }
diff --git a/src/site-docs/adoc/fragments/reference-publications/cnsm-2015.adoc b/src/site-docs/adoc/fragments/reference-publications/cnsm-2015.adoc
index 01bd55d..a90ea33 100644
--- a/src/site-docs/adoc/fragments/reference-publications/cnsm-2015.adoc
+++ b/src/site-docs/adoc/fragments/reference-publications/cnsm-2015.adoc
@@ -33,19 +33,13 @@
 [source,bibtex]
 ----
 @inproceedings{DBLP:conf/cnsm/MeerKF15,
-  author    = {Sven van der Meer and
-               John Keeney and
-               Liam Fallon},
-  title     = {Dynamically Adaptive Policies for
-               Dynamically Adaptive Telecommunications Networks},
-  booktitle = {11th International Conference on Network and Service Management,
-              {CNSM} 2015, Barcelona, Spain, November 9-13, 2015},
+  author    = {Sven van der Meer and John Keeney and Liam Fallon},
+  title     = {Dynamically Adaptive Policies for Dynamically Adaptive Telecommunications Networks},
+  booktitle = {11th International Conference on Network and Service Management, {CNSM} 2015, Barcelona, Spain, November 9-13, 2015},
   pages     = {182--186},
   year      = {2015},
   crossref  = {DBLP:conf/cnsm/2015},
-  url       = {https://doi.org/10.1109/CNSM.2015.7367357},
   doi       = {10.1109/CNSM.2015.7367357},
-  timestamp = {Tue, 23 May 2017 01:11:56 +0200},
   biburl    = {http://dblp.org/rec/bib/conf/cnsm/MeerKF15},
   bibsource = {dblp computer science bibliography, http://dblp.org}
 }
diff --git a/src/site-docs/adoc/fragments/reference-publications/im-2013.adoc b/src/site-docs/adoc/fragments/reference-publications/im-2013.adoc
index 0c9000a..dffe321 100644
--- a/src/site-docs/adoc/fragments/reference-publications/im-2013.adoc
+++ b/src/site-docs/adoc/fragments/reference-publications/im-2013.adoc
@@ -33,19 +33,13 @@
 [source,bibtex]
 ----
 @inproceedings{DBLP:conf/im/KeeneyMH13,
-  author    = {John Keeney and
-               Sven van der Meer and
-               Gabriel Hogan},
-  title     = {A Recommender-system for Telecommunications
-               Network Management Actions},
-  booktitle = {2013 {IFIP/IEEE} International Symposium on Integrated
-               Network Management
-               {IM} 2013, Ghent, Belgium, May 27-31, 2013},
+  author    = {John Keeney and Sven van der Meer and Gabriel Hogan}
+  title     = {A Recommender-system for Telecommunications Network Management Actions},
+  booktitle = {2013 {IFIP/IEEE} International Symposium on Integrated Network Management {IM} 2013, Ghent, Belgium, May 27-31, 2013},
   pages     = {760--763},
   year      = {2013},
   crossref  = {DBLP:conf/im/2013},
   url       = {http://ieeexplore.ieee.org/document/6573072/},
-  timestamp = {Sun, 30 Apr 2017 09:41:39 +0200},
   biburl    = {http://dblp.org/rec/bib/conf/im/KeeneyMH13},
   bibsource = {dblp computer science bibliography, http://dblp.org}
 }
diff --git a/src/site-docs/adoc/fragments/reference-publications/im-2017a.adoc b/src/site-docs/adoc/fragments/reference-publications/im-2017a.adoc
index 0daeebb..634190b 100644
--- a/src/site-docs/adoc/fragments/reference-publications/im-2017a.adoc
+++ b/src/site-docs/adoc/fragments/reference-publications/im-2017a.adoc
@@ -33,19 +33,13 @@
 [source,bibtex]
 ----
 @inproceedings{DBLP:conf/im/FallonKM17,
-  author    = {Liam Fallon and
-               John Keeney and
-               Sven van der Meer},
+  author    = {Liam Fallon and John Keeney and Sven van der Meer},
   title     = {Distributed Management Information Models},
-  booktitle = {2017 {IFIP/IEEE} International Symposium on Integrated
-               Network Management
-               {IM} 2017, Lisbon, Portugal, May 8-12, 2017},
+  booktitle = {2017 {IFIP/IEEE} International Symposium on Integrated Network Management {IM} 2017, Lisbon, Portugal, May 8-12, 2017},
   pages     = {414--420},
   year      = {2017},
   crossref  = {DBLP:conf/im/2017},
-  url       = {https://doi.org/10.23919/INM.2017.7987306},
   doi       = {10.23919/INM.2017.7987306},
-  timestamp = {Fri, 28 Jul 2017 12:12:57 +0200},
   biburl    = {http://dblp.org/rec/bib/conf/im/FallonKM17},
   bibsource = {dblp computer science bibliography, http://dblp.org}
 }
diff --git a/src/site-docs/adoc/fragments/reference-publications/im-2017b.adoc b/src/site-docs/adoc/fragments/reference-publications/im-2017b.adoc
index 92a59bc..2294bb8 100644
--- a/src/site-docs/adoc/fragments/reference-publications/im-2017b.adoc
+++ b/src/site-docs/adoc/fragments/reference-publications/im-2017b.adoc
@@ -33,22 +33,13 @@
 [source,bibtex]
 ----
 @inproceedings{DBLP:conf/im/FallonKMQM17,
-  author    = {Liam Fallon and
-               John Keeney and
-               Mark McFadden and
-               John Quilty and
-               Sven van der Meer},
-  title     = {Using the {COMPA} Autonomous Architecture
-               for Mobile Network Security},
-  booktitle = {2017 {IFIP/IEEE} International Symposium on Integrated
-               Network Management
-               {IM} 2017, Lisbon, Portugal, May 8-12, 2017},
+  author    = {Liam Fallon and John Keeney and Mark McFadden and John Quilty and Sven van der Meer},
+  title     = {Using the {COMPA} Autonomous Architecture for Mobile Network Security},
+  booktitle = {2017 {IFIP/IEEE} International Symposium on Integrated Network Management {IM} 2017, Lisbon, Portugal, May 8-12, 2017},
   pages     = {747--753},
   year      = {2017},
   crossref  = {DBLP:conf/im/2017},
-  url       = {https://doi.org/10.23919/INM.2017.7987370},
   doi       = {10.23919/INM.2017.7987370},
-  timestamp = {Fri, 28 Jul 2017 12:12:57 +0200},
   biburl    = {http://dblp.org/rec/bib/conf/im/FallonKMQM17},
   bibsource = {dblp computer science bibliography, http://dblp.org}
 }
diff --git a/src/site-docs/adoc/fragments/reference-publications/monami-2013.adoc b/src/site-docs/adoc/fragments/reference-publications/monami-2013.adoc
index 157ed86..94a4d91 100644
--- a/src/site-docs/adoc/fragments/reference-publications/monami-2013.adoc
+++ b/src/site-docs/adoc/fragments/reference-publications/monami-2013.adoc
@@ -26,28 +26,20 @@
 | The explosion in consumer devices has resulted in a significant increase in the number of mobile telecommunications nodes. As a result of increased device and node numbers, network operators have experienced a large increase in associated events. In such an environment, scalability and performance of event handling become important aspects for Operation Support Systems (OSS). A traditional approach has been to centralize monitoring and decision functions. The scale of events in a modern mobile telecommunications network means such centralized implementations are performance limited. What is required is a remodeling of Complex Event Processing (monitoring) and Policies (decision making) towards a distributed yet coordinated system. This paper describes an extensible architecture for such a distributed policy-based event processing system. Our approach provides a pluggable mechanism into which various event handling functionality can be integrated. In order to illustrate the applicability of our approach we evaluate the performance of 2 message queuing protocols, Advanced Message Queuing Protocol (AMQP) based RabbitMQ and Java Web Sockets. Our performance evaluation illustrates the ability of our architecture to transparently integrate alternative event processing technologies.
 
 h| Links
-| ###
+| link:https://www.researchgate.net/publication/259785930_Cloudifying_Mobile_Network_Management_Performance_Tests_of_Event_Distribution_and_Rule_Processing[ResarchGate] [accessed Aug 11, 2017]
 
 h| BibTeX
 a|
 [source,bibtex]
 ----
 @inproceedings{DBLP:conf/monami/DawarMKFB13,
-  author    = {Sumit Dawar and
-               Sven van der Meer and
-               John Keeney and
-               Enda Fallon and
-               Tom Bennet},
-  title     = {Cloudifying Mobile Network Management: Performance Tests
-               of Event Distribution and Rule Processing},
-  booktitle = {Mobile Networks and Management - 5th International Conference,
-              {MONAMI} 2013, Cork, Ireland, September 23-25, 2013},
+  author    = {Sumit Dawar and Sven van der Meer and John Keeney and Enda Fallon and Tom Bennet},
+  title     = {Cloudifying Mobile Network Management: Performance Tests of Event Distribution and Rule Processing},
+  booktitle = {Mobile Networks and Management - 5th International Conference, {MONAMI} 2013, Cork, Ireland, September 23-25, 2013},
   pages     = {94--107},
   year      = {2013},
   crossref  = {DBLP:conf/monami/2013},
-  url       = {https://doi.org/10.1007/978-3-319-04277-0_8},
   doi       = {10.1007/978-3-319-04277-0_8},
-  timestamp = {Wed, 24 May 2017 08:27:31 +0200},
   biburl    = {http://dblp.org/rec/bib/conf/monami/DawarMKFB13},
   bibsource = {dblp computer science bibliography, http://dblp.org}
 }
diff --git a/src/site-docs/adoc/fragments/reference-publications/noms-2016.adoc b/src/site-docs/adoc/fragments/reference-publications/noms-2016.adoc
index ee3dcee..b38278d 100644
--- a/src/site-docs/adoc/fragments/reference-publications/noms-2016.adoc
+++ b/src/site-docs/adoc/fragments/reference-publications/noms-2016.adoc
@@ -33,18 +33,13 @@
 [source,bibtex]
 ----
 @inproceedings{DBLP:conf/noms/FallonMK16,
-  author    = {Liam Fallon and
-               Sven van der Meer and
-               John Keeney},
+  author    = {Liam Fallon and Sven van der Meer and John Keeney},
   title     = {Apex: An Engine for Dynamic Adaptive Policy Execution},
-  booktitle = {2016 {IEEE/IFIP} Network Operations and Management Symposium,
-              {NOMS} 2016, Istanbul, Turkey, April 25-29, 2016},
+  booktitle = {2016 {IEEE/IFIP} Network Operations and Management Symposium, {NOMS} 2016, Istanbul, Turkey, April 25-29, 2016},
   pages     = {699--702},
   year      = {2016},
   crossref  = {DBLP:conf/noms/2016},
-  url       = {https://doi.org/10.1109/NOMS.2016.7502880},
   doi       = {10.1109/NOMS.2016.7502880},
-  timestamp = {Fri, 19 May 2017 01:26:25 +0200},
   biburl    = {http://dblp.org/rec/bib/conf/noms/FallonMK16},
   bibsource = {dblp computer science bibliography, http://dblp.org}
 }
diff --git a/src/site-docs/adoc/fragments/reference-publications/noms-2018a.adoc b/src/site-docs/adoc/fragments/reference-publications/noms-2018a.adoc
index b7558da..d580fb3 100644
--- a/src/site-docs/adoc/fragments/reference-publications/noms-2018a.adoc
+++ b/src/site-docs/adoc/fragments/reference-publications/noms-2018a.adoc
@@ -23,37 +23,26 @@
 | IEEE NOMS, Taipei, April 2018
 
 h| Abstract
-| Since the 1970’s it has been acknowledged that a
-complex system can be broken into (a) its invariant functional
-parts (mechanism), and (b) the externalized choices for how the
-system should behave (policy). Policy-based management’s main
-objective is to separate and externalize the decisions required by a
-system from the mechanisms provided by the system, and provide
-a way to define and evaluate these decisions. A few decades later,
-we have today a plethora of different policy models and even more
-policy languages – plus tooling – offering policy-based solutions
-for virtually any use case and scenario. However, policy-based
-management as a standalone domain has never been evaluated
-in terms of which parts are variant / invariant, i.e. which parts
-of policy-based management can be domain-, model-, language-,
-usecase-independent. In this paper, we introduce and define a
-formal universal policy model that does exactly that. The result
-is a model that can be used to design, implement, and deploy
-immutable policy infrastructure (engine and executor) being able
-to execute (virtually) any policy model.
+| Since the 1970’s it has been acknowledged that a complex system can be broken into (a) its invariant functional parts (mechanism), and (b) the externalized choices for how the system should behave (policy). Policy-based management’s main objective is to separate and externalize the decisions required by a system from the mechanisms provided by the system, and provide a way to define and evaluate these decisions. A few decades later, we have today a plethora of different policy models and even more policy languages – plus tooling – offering policy-based solutions for virtually any use case and scenario. However, policy-based management as a standalone domain has never been evaluated in terms of which parts are variant / invariant, i.e. which parts of policy-based management can be domain-, model-, language-, usecase-independent. In this paper, we introduce and define a formal universal policy model that does exactly that. The result is a model that can be used to design, implement, and deploy immutable policy infrastructure (engine and executor) being able to execute (virtually) any policy model.
+
+h| Links
+| link:https://www.researchgate.net/publication/325057975_Taming_Policy_Complexity_Model_to_Execution[Research Gate] [accessed Sep 4, 2018]
 
 h| BibTeX
 a|
 [source,bibtex]
 ----
-@inproceedings{noms/MeerMK18a,
-  author    = {Sven van der Meer and
-               John Keeney and
-               Liam Fallon},
-  title     = {Taming Policy Complexity: Model to Execution},
-  booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium,
-              {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018},
-  year      = {2018}
+@inproceedings{DBLP:conf/noms/MeerKF18,
+  author    = {Sven van der Meer and John Keeney and Liam Fallon},
+  title     = {Taming policy complexity: Model to execution},
+  booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium, {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018},
+  pages     = {1--8},
+  year      = {2018},
+  crossref  = {DBLP:conf/noms/2018},
+  doi       = {10.1109/NOMS.2018.8406172},
+  biburl    = {https://dblp.org/rec/bib/conf/noms/MeerKF18},
+  bibsource = {dblp computer science bibliography, https://dblp.org}
+}
 ----
 
 |===
diff --git a/src/site-docs/adoc/fragments/reference-publications/noms-2018b.adoc b/src/site-docs/adoc/fragments/reference-publications/noms-2018b.adoc
index 2500e70..2c22158 100644
--- a/src/site-docs/adoc/fragments/reference-publications/noms-2018b.adoc
+++ b/src/site-docs/adoc/fragments/reference-publications/noms-2018b.adoc
@@ -23,33 +23,26 @@
 | IEEE NOMS, Taipei, April 2018
 
 h| Abstract
-| 5G networks will be the first real converged networks
-supporting a plethora of different services, each with their
-own requirements. A static best-effort approach is no longer
-sufficient. Extreme flexibility and dynamicity is required, yet costs
-must be drastically reduced. The only way that these conflicting
-goals can be achieved is with vastly increased automation in the
-provision and operation of our future 5G networks. In this paper
-we briefly discuss the facilitators, goals and challenges for 5G
-networks. We identify some of the places where automation is not
-just helpful, but is in fact required for 5G to become a reality.
-We go on to present a conceptual approach for modeling and
-achieving autonomic operations and management in 5G networks
-positioning modern policy-based management as a key enabler
-for autonomic 5G network management.
+| 5G networks will be the first real converged networks supporting a plethora of different services, each with their own requirements. A static best-effort approach is no longer sufficient. Extreme flexibility and dynamicity is required, yet costs must be drastically reduced. The only way that these conflicting goals can be achieved is with vastly increased automation in the provision and operation of our future 5G networks. In this paper we briefly discuss the facilitators, goals and challenges for 5G networks. We identify some of the places where automation is not just helpful, but is in fact required for 5G to become a reality. We go on to present a conceptual approach for modeling and achieving autonomic operations and management in 5G networks positioning modern policy-based management as a key enabler for autonomic 5G network management.
+
+h| Links
+| link:https://www.researchgate.net/publication/325057790_5G_Networks_Must_Be_Autonomic?_iepl%5BgeneralViewId%5D=NFUJVNL9bfZcUhlhGPKG13VvHQDRMJhMCBbY&_iepl%5Bcontexts%5D%5B0%5D=searchReact&_iepl%5BviewId%5D=K8kQ3zeC2xUNNSJwMYtpD849IAOlx6jPYj2I&_iepl%5BsearchType%5D=publication&_iepl%5Bdata%5D%5BcountLessEqual20%5D=1&_iepl%5Bdata%5D%5BinteractedWithPosition1%5D=1&_iepl%5Bdata%5D%5BwithEnrichment%5D=1&_iepl%5Bposition%5D=1&_iepl%5BrgKey%5D=PB%3A325057790&_iepl%5BtargetEntityId%5D=PB%3A325057790&_iepl%5BinteractionType%5D=publicationTitle[Research Gate] [accessed Sep 4, 2018]
 
 h| BibTeX
 a|
 [source,bibtex]
 ----
-@inproceedings{noms/MeerMK18b,
-  author    = {Sven van der Meer and
-               John Keeney and
-               Liam Fallon},
-  title     = {5G Networks Must Be Autonomic!},
-  booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium,
-              {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018},
-  year      = {2018}
+@inproceedings{DBLP:conf/noms/MeerKF18a,
+  author    = {Sven van der Meer and John Keeney and Liam Fallon},
+  title     = {5G networks must be autonomic!},
+  booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium, {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018},
+  pages     = {1--5},
+  year      = {2018},
+  crossref  = {DBLP:conf/noms/2018},
+  doi       = {10.1109/NOMS.2018.8406185},
+  biburl    = {https://dblp.org/rec/bib/conf/noms/MeerKF18a},
+  bibsource = {dblp computer science bibliography, https://dblp.org}
+}
 ----
 
 |===
diff --git a/src/site-docs/adoc/fragments/reference-publications/noms-2018c.adoc b/src/site-docs/adoc/fragments/reference-publications/noms-2018c.adoc
index 96803d8..f3107c0 100644
--- a/src/site-docs/adoc/fragments/reference-publications/noms-2018c.adoc
+++ b/src/site-docs/adoc/fragments/reference-publications/noms-2018c.adoc
@@ -30,20 +30,23 @@
 
 In this work we present our experiences of building a networking testbed that incorporates an emulated network, a production-grade network controller, an analytics function, and a policy execution environment. This allows users to develop policies for adaptive (closed loop) management of a realistic emulated network. We also present two scenarios where the testbed is used to emulate and mitigate against a temporary and prolonged failure occurring on a network.
 
+h| Links
+| link:https://www.researchgate.net/publication/325059988_A_Testbed_For_Policy_Driven_Closed_Loop_Network_Management[Research Gate] [accessed Sep 4, 2018]
+
 h| BibTeX
 a|
 [source,bibtex]
 ----
-@inproceedings{noms/McNamaraMK18,
-  author    = {Joseph McNamara and
-               John Keeney and
-               Liam Fallon and
-               Sven van der Meer and
-               Enda Fallon},
-  title     = {A Testbed For Policy Driven Closed Loop Network Management},
-  booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium,
-              {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018},
-  year      = {2018}
+@inproceedings{DBLP:conf/noms/McNamaraKFMF18,
+  author    = {Joseph McNamara and John Keeney and Liam Fallon and Sven van der Meer and Enda Fallon},
+  title     = {A testbed for policy driven closed loop network management},
+  booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium, {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018},
+  pages     = {1--6},
+  year      = {2018},
+  crossref  = {DBLP:conf/noms/2018},
+  doi       = {10.1109/NOMS.2018.8406144},
+  biburl    = {https://dblp.org/rec/bib/conf/noms/McNamaraKFMF18},
+  bibsource = {dblp computer science bibliography, https://dblp.org}
 }
 ----
 
diff --git a/src/site-docs/adoc/fragments/reference-publications/noms-2018d.adoc b/src/site-docs/adoc/fragments/reference-publications/noms-2018d.adoc
new file mode 100755
index 0000000..2039de4
--- /dev/null
+++ b/src/site-docs/adoc/fragments/reference-publications/noms-2018d.adoc
@@ -0,0 +1,51 @@
+//
+// ============LICENSE_START=======================================================
+//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+// 
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+== APEX Demo (NOMS'18)
+
+[width="100%",cols="15%,90%"]
+|===
+
+h| Title
+e| Demo: Adaptive policy execution (APEX)
+
+h| Venue
+| IEEE NOMS, Taipei, April 2018
+
+h| Abstract
+| This demo focuses on demonstrating features of the Adaptive Policy Execution (APEX) system. APEX is a carrier-grade, production ready, scalable policy engine implementing, based on published theory, universal and immutable policy infrastructure. The demo will showcase the main APEX features, from authoring via deployment to runtime; with three demo use cases. All software and features are available on Github.
+
+h| Links
+| link:https://www.researchgate.net/publication/325058016_Demo_Adaptive_Policy_Execution_APEX[Research Gate] [accessed Sep 4, 2018]
+
+h| BibTeX
+a|
+[source,bibtex]
+----
+@inproceedings{DBLP:conf/noms/MeerKFM18,
+  author    = {Sven van der Meer and John Keeney and Liam Fallon and Joseph McNamara},
+  title     = {Demo: Adaptive policy execution {(APEX)}},
+  booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium, {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018},
+  pages     = {1--2},
+  year      = {2018},
+  crossref  = {DBLP:conf/noms/2018},
+  url       = {https://doi.org/10.1109/NOMS.2018.8406117},
+  doi       = {10.1109/NOMS.2018.8406117},
+  timestamp = {Tue, 10 Jul 2018 16:33:52 +0200},
+  biburl    = {https://dblp.org/rec/bib/conf/noms/MeerKFM18},
+  bibsource = {dblp computer science bibliography, https://dblp.org}
+}
+----
+
+|===
+
diff --git a/src/site-docs/adoc/fragments/reference-publications/noms-2018e.adoc b/src/site-docs/adoc/fragments/reference-publications/noms-2018e.adoc
new file mode 100755
index 0000000..00bd7b4
--- /dev/null
+++ b/src/site-docs/adoc/fragments/reference-publications/noms-2018e.adoc
@@ -0,0 +1,44 @@
+//
+// ============LICENSE_START=======================================================
+//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+// 
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+== NOMS 2018, Keynote #6
+
+[width="100%",cols="15%,90%"]
+|===
+
+h| Title
+e| What do we actually manage in 5G? - And what is missing?
+
+h| Venue
+| IEEE NOMS, Taipei, April 2018
+
+h| Abstract
+| We are at the crossroads of yet another technology shift. Networks evolved continuously from TDM to IP, legacy to SDN, PNF to VNF as part of virtualization and now microservices/containers/K8s. All these technologies play a vital role in the evolution of 5G and the future networks will deliver services to many vertical industries. Distributed cloud is key to deliver services that require low latency and high bandwidth. Orchestration and adaptive Policy decisions will be key for automation in 5G networks. In this keynote, we will discuss the requirements and challenges for managing this – massive scale, dynamic, and complex – new environment. We will see what efforts are underway and planned for 5 G management, including open source initiatives such as ONAP. Finally, we will explore what is missing today to tame the 5G management complexity.
+
+h| Links
+| link:http://noms2018.ieee-noms.org/content/keynotes[Event], link:https://www.researchgate.net/publication/325057988_What_do_we_actually_manage_in_5G_And_what_is_missing[Research Gate] [accessed Sep 4, 2018]
+
+h| BibTeX
+a|
+[source,bibtex]
+----
+@online{vandermeer-noms2018-e,
+  author        = {Sven van der Meer},
+  title         = {What do we actually manage in 5G? - And what is missing?},
+  howpublished  = {Keynote, 2018 {IEEE/IFIP} Network Operations and Management Symposium, {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018},
+  year          = {2018}
+}
+----
+
+|===
+
diff --git a/src/site-docs/adoc/fragments/screens/mvn-install-skiptests.txt b/src/site-docs/adoc/fragments/screens/mvn-install-skiptests.txt
index eaf1c13..a85af55 100644
--- a/src/site-docs/adoc/fragments/screens/mvn-install-skiptests.txt
+++ b/src/site-docs/adoc/fragments/screens/mvn-install-skiptests.txt
@@ -1,13 +1,13 @@
-[INFO] apex-apps.uservice ................................. SUCCESS [  0.054 s]
-[INFO] apex-apps.uservice-packaging ....................... SUCCESS [  0.058 s]
-[INFO] apex-apps.uservice-package-minimal ................. SUCCESS [  7.138 s]
-[INFO] apex-apps.uservice-package-full .................... SUCCESS [ 58.960 s]
-[INFO] apex-apps.uservice-packages ........................ SUCCESS [  1.781 s]
-[INFO] apex-apps.servlet .................................. SUCCESS [  3.465 s]
+[INFO] tools .............................................. SUCCESS [  0.248 s]
+[INFO] tools-common ....................................... SUCCESS [  0.784 s]
+[INFO] simple-wsclient .................................... SUCCESS [  3.303 s]
+[INFO] model-generator .................................... SUCCESS [  0.644 s]
+[INFO] packages ........................................... SUCCESS [  0.336 s]
+[INFO] apex-pdp-package-full .............................. SUCCESS [01:10 min]
+[INFO] Policy APEX PDP - Docker build 2.0.0-SNAPSHOT ...... SUCCESS [ 10.307 s]
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
-[INFO] Total time: 02:48 min
-[INFO] Finished at: 2018-01-04T12:20:45+00:00
-[INFO] Final Memory: 164M/1648M
+[INFO] Total time: 03:43 min
+[INFO] Finished at: 2018-09-03T11:56:01+01:00
 [INFO] ------------------------------------------------------------------------
\ No newline at end of file
diff --git a/src/site-docs/adoc/fragments/screens/mvn-install.txt b/src/site-docs/adoc/fragments/screens/mvn-install.txt
deleted file mode 100644
index 6e5f9c1..0000000
--- a/src/site-docs/adoc/fragments/screens/mvn-install.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-[INFO] apex-apps.uservice ................................. SUCCESS [  0.027 s]
-[INFO] apex-apps.uservice-packaging ....................... SUCCESS [  0.008 s]
-[INFO] apex-apps.uservice-package-minimal ................. SUCCESS [  6.934 s]
-[INFO] apex-apps.uservice-package-full .................... SUCCESS [ 55.667 s]
-[INFO] apex-apps.uservice-packages ........................ SUCCESS [  1.833 s]
-[INFO] apex-apps.servlet .................................. SUCCESS [  2.383 s]
-[INFO] ------------------------------------------------------------------------
-[INFO] BUILD SUCCESS
-[INFO] ------------------------------------------------------------------------
-[INFO] Total time: 05:34 min
-[INFO] Finished at: 2018-01-04T13:49:16+00:00
-[INFO] Final Memory: 164M/1595M
-[INFO] ------------------------------------------------------------------------
\ No newline at end of file
diff --git a/src/site-docs/adoc/fragments/screens/target-ls-unix.txt b/src/site-docs/adoc/fragments/screens/target-ls-unix.txt
index 99973f7..1e1d4ec 100644
--- a/src/site-docs/adoc/fragments/screens/target-ls-unix.txt
+++ b/src/site-docs/adoc/fragments/screens/target-ls-unix.txt
@@ -1,12 +1,15 @@
--rwxrwx---+ 1 esvevan Domain Users       706 Jan  4 10:44 apex-apps.uservice-package-full_0.7.0_all.changes
--rwxrwx---+ 1 esvevan Domain Users     32694 Jan  4 10:43 apex-apps.uservice-package-full-0.7.0.jar
--rwxrwx---+ 1 esvevan Domain Users 255629634 Jan  4 10:44 apex-uservice-full-0.7.0.deb
--rwxrwx---+ 1 esvevan Domain Users 255613724 Jan  4 10:43 apex-uservice-full-0.7.0-tarball.tar.gz
-drwxrwx---+ 1 esvevan Domain Users         0 Jan  4 10:43 archive-tmp/
-drwxrwx---+ 1 esvevan Domain Users         0 Jan  4 10:43 classes/
-drwxrwx---+ 1 esvevan Domain Users         0 Jan  4 10:43 dependency-maven-plugin-markers/
-drwxrwx---+ 1 esvevan Domain Users         0 Jan  4 10:43 etc/
-drwxrwx---+ 1 esvevan Domain Users         0 Jan  4 10:43 examples/
-drwxrwx---+ 1 esvevan Domain Users         0 Jan  4 10:43 install_hierarchy/
-drwxrwx---+ 1 esvevan Domain Users         0 Jan  4 10:43 lib/
-drwxrwx---+ 1 esvevan Domain Users         0 Jan  4 10:43 maven-archiver/
\ No newline at end of file
+-rwxrwx---+ 1 esvevan Domain Users       772 Sep  3 11:55 apex-pdp-package-full_2.0.0~SNAPSHOT_all.changes*
+-rwxrwx---+ 1 esvevan Domain Users 146328082 Sep  3 11:55 apex-pdp-package-full-2.0.0-SNAPSHOT.deb*
+-rwxrwx---+ 1 esvevan Domain Users     15633 Sep  3 11:54 apex-pdp-package-full-2.0.0-SNAPSHOT.jar*
+-rwxrwx---+ 1 esvevan Domain Users 146296819 Sep  3 11:55 apex-pdp-package-full-2.0.0-SNAPSHOT-tarball.tar.gz*
+drwxrwx---+ 1 esvevan Domain Users         0 Sep  3 11:54 archive-tmp/
+-rwxrwx---+ 1 esvevan Domain Users        89 Sep  3 11:54 checkstyle-cachefile*
+-rwxrwx---+ 1 esvevan Domain Users     10621 Sep  3 11:54 checkstyle-checker.xml*
+-rwxrwx---+ 1 esvevan Domain Users       584 Sep  3 11:54 checkstyle-header.txt*
+-rwxrwx---+ 1 esvevan Domain Users        86 Sep  3 11:54 checkstyle-result.xml*
+drwxrwx---+ 1 esvevan Domain Users         0 Sep  3 11:54 classes/
+drwxrwx---+ 1 esvevan Domain Users         0 Sep  3 11:54 dependency-maven-plugin-markers/
+drwxrwx---+ 1 esvevan Domain Users         0 Sep  3 11:54 etc/
+drwxrwx---+ 1 esvevan Domain Users         0 Sep  3 11:54 examples/
+drwxrwx---+ 1 esvevan Domain Users         0 Sep  3 11:55 install_hierarchy/
+drwxrwx---+ 1 esvevan Domain Users         0 Sep  3 11:54 maven-archiver/
diff --git a/src/site-docs/adoc/fragments/screens/target-ls-win.txt b/src/site-docs/adoc/fragments/screens/target-ls-win.txt
index 7a78d07..1addb29 100644
--- a/src/site-docs/adoc/fragments/screens/target-ls-win.txt
+++ b/src/site-docs/adoc/fragments/screens/target-ls-win.txt
@@ -1,16 +1,19 @@
-04/01/2018  11:51    <DIR>          .
-04/01/2018  11:51    <DIR>          ..
-04/01/2018  10:43            32,694 apex-apps.uservice-package-full-0.7.0.jar
-04/01/2018  10:44               706 apex-apps.uservice-package-full_0.7.0_all.changes
-04/01/2018  10:43       255,613,724 apex-uservice-full-0.7.0-tarball.tar.gz
-04/01/2018  10:44       255,629,634 apex-uservice-full-0.7.0.deb
-04/01/2018  10:43    <DIR>          archive-tmp
-04/01/2018  10:43    <DIR>          classes
-04/01/2018  10:43    <DIR>          dependency-maven-plugin-markers
-04/01/2018  10:43    <DIR>          etc
-04/01/2018  10:43    <DIR>          examples
-04/01/2018  10:43    <DIR>          install_hierarchy
-04/01/2018  10:43    <DIR>          lib
-04/01/2018  10:43    <DIR>          maven-archiver
-               4 File(s)    511,276,758 bytes
-              10 Dir(s)   6,230,409,216 bytes free
\ No newline at end of file
+03/09/2018  11:55    <DIR>          .
+03/09/2018  11:55    <DIR>          ..
+03/09/2018  11:55       146,296,819 apex-pdp-package-full-2.0.0-SNAPSHOT-tarball.tar.gz
+03/09/2018  11:55       146,328,082 apex-pdp-package-full-2.0.0-SNAPSHOT.deb
+03/09/2018  11:54            15,633 apex-pdp-package-full-2.0.0-SNAPSHOT.jar
+03/09/2018  11:55               772 apex-pdp-package-full_2.0.0~SNAPSHOT_all.changes
+03/09/2018  11:54    <DIR>          archive-tmp
+03/09/2018  11:54                89 checkstyle-cachefile
+03/09/2018  11:54            10,621 checkstyle-checker.xml
+03/09/2018  11:54               584 checkstyle-header.txt
+03/09/2018  11:54                86 checkstyle-result.xml
+03/09/2018  11:54    <DIR>          classes
+03/09/2018  11:54    <DIR>          dependency-maven-plugin-markers
+03/09/2018  11:54    <DIR>          etc
+03/09/2018  11:54    <DIR>          examples
+03/09/2018  11:55    <DIR>          install_hierarchy
+03/09/2018  11:54    <DIR>          maven-archiver
+               8 File(s)    292,652,686 bytes
+               9 Dir(s)  14,138,720,256 bytes free
\ No newline at end of file
diff --git a/src/site-docs/adoc/guides/APEX-Install-Guide.adoc b/src/site-docs/adoc/guides/APEX-Install-Guide.adoc
index e3a9891..f9afb77 100644
--- a/src/site-docs/adoc/guides/APEX-Install-Guide.adoc
+++ b/src/site-docs/adoc/guides/APEX-Install-Guide.adoc
@@ -45,8 +45,6 @@
 
 include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/verify.adoc[]
 
-include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-monitoring.adoc[]
-
-include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-resteditor.adoc[]
+include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-wars.adoc[]
 
 include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/docker.adoc[]
diff --git a/src/site-docs/adoc/guides/APEX-User-Manual.adoc b/src/site-docs/adoc/guides/APEX-User-Manual.adoc
index f732c43..7a39036 100644
--- a/src/site-docs/adoc/guides/APEX-User-Manual.adoc
+++ b/src/site-docs/adoc/guides/APEX-User-Manual.adoc
@@ -49,9 +49,7 @@
 
 include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/verify.adoc[leveloffset=+1]
 
-include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-monitoring.adoc[leveloffset=+1]
-
-include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-resteditor.adoc[leveloffset=+1]
+include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-wars.adoc[leveloffset=+1]
 
 include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/docker.adoc[leveloffset=+1]
 
diff --git a/src/site-docs/adoc/guides/HowTo-Codestyle.adoc b/src/site-docs/adoc/guides/HowTo-Codestyle.adoc
index f84a646..3dd8cc3 100644
--- a/src/site-docs/adoc/guides/HowTo-Codestyle.adoc
+++ b/src/site-docs/adoc/guides/HowTo-Codestyle.adoc
@@ -62,4 +62,3 @@
 include::{adsite-main-dir}/site-docs/adoc/fragments/howto-codestyle/50-disable-eclispe-formatting.adoc[]
 
 include::{adsite-main-dir}/site-docs/adoc/fragments/howto-codestyle/51-supress-checkstyle.adoc[]
-	
\ No newline at end of file
diff --git a/src/site-docs/adoc/resources/images/install-guide/monitoring-app-status.png b/src/site-docs/adoc/resources/images/install-guide/monitoring-app-status.png
deleted file mode 100644
index 421edd3..0000000
--- a/src/site-docs/adoc/resources/images/install-guide/monitoring-app-status.png
+++ /dev/null
Binary files differ
diff --git a/src/site-docs/adoc/resources/images/install-guide/monitoring-app.png b/src/site-docs/adoc/resources/images/install-guide/monitoring-app.png
deleted file mode 100644
index c18c3c8..0000000
--- a/src/site-docs/adoc/resources/images/install-guide/monitoring-app.png
+++ /dev/null
Binary files differ
diff --git a/src/site-docs/adoc/resources/images/install-guide/rest-loaded.png b/src/site-docs/adoc/resources/images/install-guide/rest-loaded.png
index 7b4b9e5..3d00566 100644
--- a/src/site-docs/adoc/resources/images/install-guide/rest-loaded.png
+++ b/src/site-docs/adoc/resources/images/install-guide/rest-loaded.png
Binary files differ
diff --git a/src/site-docs/adoc/resources/images/install-guide/rest-start.png b/src/site-docs/adoc/resources/images/install-guide/rest-start.png
index c76f0c1..dd515c6 100644
--- a/src/site-docs/adoc/resources/images/install-guide/rest-start.png
+++ b/src/site-docs/adoc/resources/images/install-guide/rest-start.png
Binary files differ
diff --git a/src/site-docs/adoc/resources/images/install-guide/tomcat-installed.png b/src/site-docs/adoc/resources/images/install-guide/tomcat-installed.png
deleted file mode 100644
index f50e927..0000000
--- a/src/site-docs/adoc/resources/images/install-guide/tomcat-installed.png
+++ /dev/null
Binary files differ
diff --git a/src/site-docs/adoc/resources/images/install-guide/win-extract-tar-gz.png b/src/site-docs/adoc/resources/images/install-guide/win-extract-tar-gz.png
index 00d5e35..55d7e7d 100644
--- a/src/site-docs/adoc/resources/images/install-guide/win-extract-tar-gz.png
+++ b/src/site-docs/adoc/resources/images/install-guide/win-extract-tar-gz.png
Binary files differ
diff --git a/src/site-docs/adoc/resources/images/install-guide/win-extract-tar.png b/src/site-docs/adoc/resources/images/install-guide/win-extract-tar.png
index c69960c..ba76fa3 100644
--- a/src/site-docs/adoc/resources/images/install-guide/win-extract-tar.png
+++ b/src/site-docs/adoc/resources/images/install-guide/win-extract-tar.png
Binary files differ
diff --git a/src/site-docs/adoc/resources/images/install-guide/win-extracted.png b/src/site-docs/adoc/resources/images/install-guide/win-extracted.png
deleted file mode 100644
index 7b5ba84..0000000
--- a/src/site-docs/adoc/resources/images/install-guide/win-extracted.png
+++ /dev/null
Binary files differ
diff --git a/src/site-docs/logos/ApexLogo.png b/src/site-docs/logos/ApexLogo.png
new file mode 100755
index 0000000..c1936b3
--- /dev/null
+++ b/src/site-docs/logos/ApexLogo.png
Binary files differ
diff --git a/src/site-docs/logos/ApexLogo_s.png b/src/site-docs/logos/ApexLogo_s.png
new file mode 100755
index 0000000..2237267
--- /dev/null
+++ b/src/site-docs/logos/ApexLogo_s.png
Binary files differ
diff --git a/src/site-docs/logos/NMLabLogo.png b/src/site-docs/logos/NMLabLogo.png
new file mode 100755
index 0000000..efc9645
--- /dev/null
+++ b/src/site-docs/logos/NMLabLogo.png
Binary files differ
diff --git a/src/site-docs/logos/NMLabLogo_s.png b/src/site-docs/logos/NMLabLogo_s.png
new file mode 100755
index 0000000..7495037
--- /dev/null
+++ b/src/site-docs/logos/NMLabLogo_s.png
Binary files differ
diff --git a/src/site-docs/logos/Onaplogo.png b/src/site-docs/logos/Onaplogo.png
new file mode 100755
index 0000000..36ee1f5
--- /dev/null
+++ b/src/site-docs/logos/Onaplogo.png
Binary files differ
diff --git a/src/site-docs/logos/Onaplogo_s.png b/src/site-docs/logos/Onaplogo_s.png
new file mode 100755
index 0000000..ed03003
--- /dev/null
+++ b/src/site-docs/logos/Onaplogo_s.png
Binary files differ
diff --git a/src/site-docs/logos/logos.svgz b/src/site-docs/logos/logos.svgz
new file mode 100755
index 0000000..75ad854
--- /dev/null
+++ b/src/site-docs/logos/logos.svgz
Binary files differ
diff --git a/src/site/asciidoc/apex-publications.adoc b/src/site/asciidoc/apex-publications.adoc
index dbf5ce8..6c030ae 100644
--- a/src/site/asciidoc/apex-publications.adoc
+++ b/src/site/asciidoc/apex-publications.adoc
@@ -25,6 +25,8 @@
 
 include::{adsite-main-dir}/site-docs/adoc/fragments/reference-publications/noms-2018a.adoc[leveloffset=+1]
 
+include::{adsite-main-dir}/site-docs/adoc/fragments/reference-publications/noms-2018d.adoc[leveloffset=+1]
+
 include::{adsite-main-dir}/site-docs/adoc/fragments/reference-publications/noms-2018c.adoc[leveloffset=+1]
 
 
@@ -43,3 +45,4 @@
 
 include::{adsite-main-dir}/site-docs/adoc/fragments/reference-publications/noms-2018b.adoc[leveloffset=+1]
 
+include::{adsite-main-dir}/site-docs/adoc/fragments/reference-publications/noms-2018e.adoc[leveloffset=+1]
diff --git a/src/site/asciidoc/user-manual/install/um-install-resteditor.adoc b/src/site/asciidoc/user-manual/install/um-install-resteditor.adoc
deleted file mode 100644
index 1d2741a..0000000
--- a/src/site/asciidoc/user-manual/install/um-install-resteditor.adoc
+++ /dev/null
@@ -1,14 +0,0 @@
-//
-// ============LICENSE_START=======================================================
-//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
-// ================================================================================
-// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-// 
-// SPDX-License-Identifier: CC-BY-4.0
-// ============LICENSE_END=========================================================
-//
-// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
-//
-
-include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-resteditor.adoc[]
diff --git a/src/site/asciidoc/user-manual/install/um-install-monitoring.adoc b/src/site/asciidoc/user-manual/install/um-install-wars.adoc
similarity index 95%
rename from src/site/asciidoc/user-manual/install/um-install-monitoring.adoc
rename to src/site/asciidoc/user-manual/install/um-install-wars.adoc
index 79889ec..1640bc9 100644
--- a/src/site/asciidoc/user-manual/install/um-install-monitoring.adoc
+++ b/src/site/asciidoc/user-manual/install/um-install-wars.adoc
@@ -11,4 +11,4 @@
 // @author Sven van der Meer (sven.van.der.meer@ericsson.com)
 //
 
-include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-monitoring.adoc[]
+include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-wars.adoc[]
diff --git a/src/site/site.xml b/src/site/site.xml
index 20d77ae..11ae2c1 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -36,8 +36,7 @@
                     <item href="user-manual/install/um-install-layout.html" name="Final Layout" />
                     <item href="user-manual/install/um-install-configure.html" name="System Configuration" />
                     <item href="user-manual/install/um-install-verify.html" name="Verify Installation" />
-                    <item href="user-manual/install/um-install-monitoring.html" name="Install Monitoring" />
-                    <item href="user-manual/install/um-install-resteditor.html" name="Install REST Editor" />
+                    <item href="user-manual/install/um-install-wars.html" name="Install WARs" />
                     <item href="user-manual/install/um-install-docker.html" name="APEX in Docker" />
                 </item>
 
diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml
index fe215c5..a18539b 100644
--- a/src/site/xdoc/index.xml
+++ b/src/site/xdoc/index.xml
@@ -140,7 +140,7 @@
                                 <li><a href="modules/examples/examples-pcvs/index.html">examples-pcvs</a> - An example policy for managing customers and link failures showing video streaming for a simple VPN scenario</li>
                                 <li><a href="modules/examples/examples-onap-vcpe/index.html">examples-onap-vcpe</a> - An example policy for managing vCPE's in ONAP</li>
                                 <li><a href="modules/examples/examples-periodic/index.html">examples-periodic</a> - An example periodic policy</li>
-                                <li><a href="modules/examples/examples-servlet/index.html">examples-aadm</a> - An  APEX Servlet Example</li>
+                                <li><a href="modules/examples/examples-servlet/index.html">examples-servlet</a> - An  APEX Servlet Example</li>
                                 <li><a href="modules/examples/examples-adaptive/index.html">examples-adaptive</a> - A simple adaptive policy</li>
                                 <li><a href="modules/examples/examples-aadm/index.html">examples-aadm</a> - A policy realizing a complex scenario for Autonomic Anomaly Detection and Mitigation (AADM)</li>
                             </ul>
@@ -307,9 +307,10 @@
                         </td>
                     </tr>
                     <tr>
-                        <td><a href="https://github.com/Ericsson/apex/issues">APEX Issue Management (Github)</a></td>
+                        <td><a href="https://jira.onap.org/projects/POLICY/issues">APEX Issue Management (ONAP, JIRA)</a></td>
                         <td>
                             Issues with the APEX software and integrated documentation are managed here.
+                            This link requires a Linux Foundation ID.
                         </td>
                     </tr>
                 </table>
diff --git a/testsuites/integration/integration-common/pom.xml b/testsuites/integration/integration-common/pom.xml
index 7ec3303..7cb6798 100644
--- a/testsuites/integration/integration-common/pom.xml
+++ b/testsuites/integration/integration-common/pom.xml
@@ -54,6 +54,7 @@
         <plugins>
             <plugin>
                 <artifactId>maven-pmd-plugin</artifactId>
+                <version>3.10.0</version>
                 <configuration>
                     <excludes>
                         <exclude>**/test/common/**/*.java</exclude>
@@ -113,4 +114,4 @@
             </distributionManagement>
         </profile>
     </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/testsuites/integration/integration-common/src/site/site.xml b/testsuites/integration/integration-common/src/site/site.xml
index 4a8c603..5957619 100644
--- a/testsuites/integration/integration-common/src/site/site.xml
+++ b/testsuites/integration/integration-common/src/site/site.xml
@@ -16,6 +16,7 @@
 <project name="APEX Testsuites Integration Common">
     <body>
         <menu name="APEX Testsuites Integration Common">
+            <item href="javadocs/index.html" name="API Doc" />
         </menu>
         <menu ref="reports" inherit="top" />
         <menu ref="modules" />
@@ -24,4 +25,4 @@
             <item name="Common" href="index.html" />
         </breadcrumbs>
     </body>
-</project>
\ No newline at end of file
+</project>
diff --git a/testsuites/integration/integration-uservice-test/pom.xml b/testsuites/integration/integration-uservice-test/pom.xml
index f41e755..52a54c2 100644
--- a/testsuites/integration/integration-uservice-test/pom.xml
+++ b/testsuites/integration/integration-uservice-test/pom.xml
@@ -213,12 +213,6 @@
             <artifactId>jersey-container-servlet-core</artifactId>
             <version>${version.jersey}</version>
         </dependency>
-        <dependency>
-            <groupId>org.onap.policy.apex-pdp.context</groupId>
-            <artifactId>context-test-utils</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>
@@ -249,4 +243,4 @@
             </distributionManagement>
         </profile>
     </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/testsuites/performance/performance-context-metrics/src/site/site.xml b/testsuites/performance/performance-context-metrics/src/site/site.xml
index 18a3b10..937759e 100644
--- a/testsuites/performance/performance-context-metrics/src/site/site.xml
+++ b/testsuites/performance/performance-context-metrics/src/site/site.xml
@@ -16,6 +16,7 @@
 <project name="APEX Testsuites Performance Context-Metrics">
     <body>
         <menu name="APEX Testsuites Performance Context-Metrics">
+            <item href="javadocs/index.html" name="API Doc" />
         </menu>
         <menu ref="reports" inherit="top" />
         <menu ref="modules" />
diff --git a/tools/scripts/clear-site.sh b/tools/scripts/clear-site.sh
new file mode 100755
index 0000000..c72e9f1
--- /dev/null
+++ b/tools/scripts/clear-site.sh
@@ -0,0 +1,83 @@
+#!/usr/bin/env bash
+
+#-------------------------------------------------------------------------------
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2016-2018 Ericsson. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# 
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#-------------------------------------------------------------------------------
+
+##
+## Script to clear all created site artifacts, so all target/site for all modules plus target/ad-site on parrent.
+## Call -h for help
+##
+## @author     Sven van der Meer <sven.van.der.meer@ericsson.com>
+## @version    v2.0.0
+
+
+##
+## DO NOT CHANGE CODE BELOW, unless you know what you are doing
+##
+
+## script name for output
+MOD_SCRIPT_NAME=`basename $0`
+
+
+##
+## Help screen and exit condition (i.e. too few arguments)
+##
+Help()
+{
+	echo ""
+	echo "$MOD_SCRIPT_NAME - remove all generated site artifacts."
+	echo ""
+	echo "       Usage:  $MOD_SCRIPT_NAME [options]"
+	echo ""
+	echo "       Options"
+	echo "         -x          - execute the delete actions"
+	echo "         -h          - this help screen"
+	echo ""
+	echo ""
+	exit 255;
+}
+if [ $# -eq 0 ]; then
+	Help
+fi
+
+while [ $# -gt 0 ]
+do
+	case $1 in
+		# -x do clear
+		-x)
+			echo 
+			echo "$MOD_SCRIPT_NAME: removing generated sites in all modules"
+			for dir in `find -type d -name "site"|grep "/target/"`
+			do
+				echo "--> removing $dir"
+				rm -fr $dir
+			done
+			echo "--> removing target/ad-site"
+			rm -fr target/ad-site
+			exit
+		;;
+
+		#-h prints help and exists
+		-h)	Help;exit 0;;
+
+		*)	echo "$MOD_SCRIPT_NAME: undefined CLI option - $1"; exit 255;;
+	esac
+done
+
diff --git a/tools/scripts/copy-css.sh b/tools/scripts/copy-css.sh
new file mode 100755
index 0000000..7603c0d
--- /dev/null
+++ b/tools/scripts/copy-css.sh
@@ -0,0 +1,47 @@
+#!/usr/bin/env bash
+
+#-------------------------------------------------------------------------------
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2016-2018 Ericsson. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# 
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#-------------------------------------------------------------------------------
+
+##
+## Script to copy css artifacts from parent to all child modules, recursively.
+##
+## @author     Sven van der Meer <sven.van.der.meer@ericsson.com>
+## @version    v2.0.0
+
+
+##
+## DO NOT CHANGE CODE BELOW, unless you know what you are doing
+##
+
+## script name for output
+MOD_SCRIPT_NAME=`basename $0`
+
+echo 
+echo "$MOD_SCRIPT_NAME: copying standard css and images to modules"
+for dir in `find -type d -name "site"|grep "/src"|grep "./modules/"`
+do
+	echo "--> copying to $dir"
+	cp -dfrp src/site/css $dir
+	cp -dfrp src/site/images $dir
+done
+
+echo "-> done"
+echo
diff --git a/tools/simple-wsclient/pom.xml b/tools/simple-wsclient/pom.xml
index be18247..9437f62 100644
--- a/tools/simple-wsclient/pom.xml
+++ b/tools/simple-wsclient/pom.xml
@@ -30,10 +30,6 @@
     <name>${project.artifactId}</name>
     <description>[${project.parent.artifactId}] Simple Websocket client (console and echo)</description>
 
-    <properties>
-        <apex-apps-wsclients-simple-dir>${project.basedir}/src</apex-apps-wsclients-simple-dir>
-    </properties>
-
     <dependencies>
         <dependency>
             <groupId>org.java-websocket</groupId>
@@ -64,7 +60,7 @@
                             </descriptorRefs>
                             <archive>
                                 <manifest>
-                                    <mainClass>org.onap.policy.apex.tools.simple.wsclients.Application</mainClass>
+                                    <mainClass>org.onap.policy.apex.tools.simple.wsclient.Application</mainClass>
                                 </manifest>
                             </archive>
                         </configuration>
@@ -93,4 +89,4 @@
             </distributionManagement>
         </profile>
     </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java b/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java
index 487bed2..b930386 100644
--- a/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java
+++ b/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java
@@ -21,17 +21,23 @@
 package org.onap.policy.apex.tools.common.docs;
 
 ////
-//// NOTE: This file contains tags for ASCIIDOC
-//// DO NOT REMOVE any of those tag lines, e.g.
-//// //tag::**
-//// //end::**
+////NOTE: This file contains tags for ASCIIDOC
+////DO NOT REMOVE any of those tag lines, e.g.
+//////tag::**
+//////end::**
+////
+////DO NOT auto-refresh imports or organise imports!
 ////
 
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.HelpFormatter;
 import org.junit.Test;
+
+//tag::import[]
 import org.onap.policy.apex.tools.common.CliOptions;
 import org.onap.policy.apex.tools.common.CliParser;
+//end::import[]
+
 import org.slf4j.ext.XLogger;
 import org.slf4j.ext.XLoggerFactory;
 
