diff --git a/pom.xml b/pom.xml
index b4176f5..b489580 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,15 +29,23 @@
   <!--- CHANGE THE FOLLOWING 3 OBJECTS for your own repo -->
   <groupId>org.onap.dcaegen2</groupId>
   <artifactId>deployments</artifactId>
-  <name>dcaegen2-deployments</name>
+  <name>deployments</name>
 
   <version>1.0.0-SNAPSHOT</version>
   <url>http://maven.apache.org</url>
+  <packaging>pom</packaging>
+
+  <modules>
+     <module>bootstrap</module>
+     <module>scripts</module>
+  </modules>
+
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <sonar.skip>true</sonar.skip>
     <sonar.sources>.</sonar.sources>
     <!-- customize the SONARQUBE URL -->
-    <sonar.host.url>http://localhost:9000</sonar.host.url>
+    <!-- sonar.host.url>http://localhost:9000</sonar.host.url -->
     <!-- below are language dependent -->
     <!-- for Python -->
     <sonar.language>py</sonar.language>
@@ -50,237 +58,102 @@
     <sonar.inclusions>**/*.js</sonar.inclusions>
     -->
   </properties>
-
   <build>
     <finalName>${project.artifactId}-${project.version}</finalName>
     <pluginManagement>
       <plugins>
-        <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>sonar-maven-plugin</artifactId>
-          <version>2.7.1</version>
-        </plugin>
-
-        <!-- nexus-staging-maven-plugin is called during deploy phase by default behavior.
-         we do not need it -->
+        <!-- the following plugins are invoked from oparent, we do not need them -->
         <plugin>
           <groupId>org.sonatype.plugins</groupId>
           <artifactId>nexus-staging-maven-plugin</artifactId>
           <version>1.6.7</version>
           <configuration>
             <skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <!-- This version supports the "deployAtEnd" parameter -->
+          <version>2.8</version>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- first disable the default Java plugins at various stages -->
+        <!-- maven-resources-plugin is called during "*resource" phases by default behavior.  it prepares 
+         the resources dir.  we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>2.6</version>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- maven-compiler-plugin is called during "compile" phases by default behavior.  we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>3.1</version>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- maven-jar-plugin is called during "compile" phase by default behavior.  we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>2.4</version>
+          <executions>
+            <execution>
+              <id>default-jar</id>
+              <phase/>
+            </execution>
+          </executions>
+        </plugin>
+        <!-- maven-install-plugin is called during "install" phase by default behavior.  it tries to copy stuff under 
+         target dir to ~/.m2.  we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-install-plugin</artifactId>
+          <version>2.4</version>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- maven-surefire-plugin is called during "test" phase by default behavior.  it triggers junit test.
+         we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.12.4</version>
+          <configuration>
+            <skipTests>true</skipTests>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>exec-maven-plugin</artifactId>
+          <version>1.2.1</version>
+          <configuration>
+            <executable>${session.executionRootDirectory}/mvn-phase-script.sh</executable>
+            <environmentVariables>
+              <!-- make mvn properties as env for our script -->
+              <MVN_PROJECT_GROUPID>${project.parent.groupId}</MVN_PROJECT_GROUPID>
+              <MVN_PROJECT_ARTIFACTID>${project.parent.artifactId}</MVN_PROJECT_ARTIFACTID>
+              <MVN_PROJECT_VERSION>${project.parent.version}</MVN_PROJECT_VERSION>
+              <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
+              <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD>
+              <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD>
+              <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID>
+              <MVN_DOCKERREGISTRY_DAILY>${onap.nexus.dockerregistry.daily}</MVN_DOCKERREGISTRY_DAILY>
+              <MVN_DOCKERREGISTRY_RELEASE>${onap.nexus.dockerregistry.release}</MVN_DOCKERREGISTRY_RELEASE>
+            </environmentVariables>
           </configuration>
         </plugin>
       </plugins>
     </pluginManagement>
-
-    <plugins>
-
-      <!-- first disable the default Java plugins at various stages -->
-      <!-- maven-resources-plugin is called during "*resource" phases by default behavior.  it prepares the resources
-       dir.  we do not need it -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-resources-plugin</artifactId>
-        <version>2.6</version>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-
-      <!-- maven-compiler-plugin is called during "compile" phases by default behavior.  we do not need it -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.1</version>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-
-      <!-- maven-jar-plugin is called during "compile" phase by default behavior.  we do not need it -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>2.4</version>
-        <executions>
-          <execution>
-            <id>default-jar</id>
-            <phase/>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- maven-install-plugin is called during "install" phase by default behavior.  it tries to copy stuff under
-       target dir to ~/.m2.  we do not need it -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-install-plugin</artifactId>
-        <version>2.4</version>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-
-      <!-- maven-surefire-plugin is called during "test" phase by default behavior.  it triggers junit test.
-       we do not need it -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>2.12.4</version>
-        <configuration>
-          <skipTests>true</skipTests>
-        </configuration>
-      </plugin>
-
-      <!-- now we configure custom action (calling a script) at various lifecycle phases -->
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>exec-maven-plugin</artifactId>
-        <version>1.2.1</version>
-        <executions>
-          <execution>
-            <id>clean phase script</id>
-            <phase>clean</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>${session.executionRootDirectory}/mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>clean</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-              </environmentVariables>
-            </configuration>
-          </execution>
-
-          <execution>
-            <id>generate-sources script</id>
-            <phase>generate-sources</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>generate-sources</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-              </environmentVariables>
-            </configuration>
-          </execution>
-
-          <execution>
-            <id>compile script</id>
-            <phase>compile</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>compile</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-              </environmentVariables>
-            </configuration>
-          </execution>
-
-          <execution>
-            <id>package script</id>
-            <phase>package</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>package</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-              </environmentVariables>
-            </configuration>
-          </execution>
-
-          <execution>
-            <id>test script</id>
-            <phase>test</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>test</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-              </environmentVariables>
-            </configuration>
-          </execution>
-
-          <execution>
-            <id>install script</id>
-            <phase>install</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>install</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-              </environmentVariables>
-            </configuration>
-          </execution>
-
-          <execution>
-            <id>deploy script</id>
-            <phase>deploy</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>deploy</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-                <MVN_SERVER_ID>${project.distributionManagement.snapshotRepository.id}</MVN_SERVER_ID>
-              </environmentVariables>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
   </build>
 </project>
