diff --git a/appc-provider/appc-provider-features/pom.xml b/appc-provider/appc-provider-features/pom.xml
index 1ab42ef..1068522 100644
--- a/appc-provider/appc-provider-features/pom.xml
+++ b/appc-provider/appc-provider-features/pom.xml
@@ -21,143 +21,21 @@
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <artifactId>appc-provider</artifactId>
-    <groupId>org.onap.appc</groupId>
+  <parent>    
+    <groupId>org.onap.appc.parent</groupId>
+    <artifactId>odlparent-lite</artifactId>
     <version>1.4.0-SNAPSHOT</version>
   </parent>
-  <name>appc-provider-features</name>
+  
+  <groupId>org.onap.app</groupId>  
   <artifactId>appc-provider-features</artifactId>
-
-  <packaging>jar</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.onap.appc</groupId>
-      <artifactId>appc-provider-model</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.onap.appc</groupId>
-      <artifactId>appc-provider-bundle</artifactId>
-      <classifier>config</classifier>
-      <type>xml</type>
-      <version>${project.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.onap.appc</groupId>
-      <artifactId>appc-provider-bundle</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.opendaylight.mdsal</groupId>
-      <artifactId>features-mdsal</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-
-      <scope>runtime</scope>
-    </dependency>
-
-
-
-    <!-- dependency for opendaylight-karaf-empty for use by testing -->
-<!--     <dependency> -->
-<!--       <groupId>org.opendaylight.controller</groupId> -->
-<!--       <artifactId>opendaylight-karaf-empty</artifactId> -->
-<!--       <type>zip</type> -->
-<!--     </dependency> -->
-
-
-<!--     <dependency> -->
-<!--       Required for launching the feature tests -->
-<!--       <groupId>org.opendaylight.yangtools</groupId> -->
-<!--       <artifactId>features-test</artifactId> -->
-<!--       <scope>test</scope> -->
-<!--     </dependency> -->
-
-    <dependency>
-      <groupId>org.opendaylight.yangtools</groupId>
-      <artifactId>features-yangtools</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-      <scope>runtime</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <resources>
-      <resource>
-        <filtering>true</filtering>
-        <directory>src/main/resources</directory>
-      </resource>
-    </resources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-resources-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>filter</id>
-            <goals>
-              <goal>resources</goal>
-            </goals>
-            <phase>generate-resources</phase>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <!-- launches the feature test, which validates that your karaf feature
-          can be installed inside of a karaf container. It doesn't validate that your
-          functionality works correctly, just that you have all of the dependent bundles
-          defined correctly. -->
-        <!-- Skipping ODL feature test -->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
-            <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
-            <karaf.distro.version>${odl.karaf.empty.distro.version}</karaf.distro.version>
-          </systemPropertyVariables>
-          <dependenciesToScan>
-            <dependency>org.opendaylight.yangtools:features-test</dependency>
-          </dependenciesToScan>
-          <classpathDependencyExcludes>
-            <!-- The dependencies which bring in AbstractDataBrokerTest class
-              brings in a second PaxExam container which results in the feature tests failing
-              with a message similar to: "ERROR o.ops4j.pax.exam.spi.PaxExamRuntime - Ambiguous
-              TestContainer ..." This excludes the container we don't want to use. -->
-            <classpathDependencyExcludes>org.ops4j.pax.exam:pax-exam-container-native</classpathDependencyExcludes>
-          </classpathDependencyExcludes>
-          <skipTests>true</skipTests>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>attach-artifacts</id>
-            <goals>
-              <goal>attach-artifact</goal>
-            </goals>
-            <phase>package</phase>
-            <configuration>
-              <artifacts>
-                <artifact>
-                  <file>${project.build.directory}/classes/${features.file}</file>
-                  <type>xml</type>
-                  <classifier>features</classifier>
-                </artifact>
-              </artifacts>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-    </plugins>
-  </build>
+  <version>1.4.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+  
+  <name>appc-provider-features</name>
+  
+  <modules>
+  	<module>features-appc-provider</module>
+  	<module>onap-appc-provider</module>
+  </modules>
 </project>
\ No newline at end of file
