diff --git a/protocols/bmv2/pom.xml b/protocols/bmv2/pom.xml
index 5bd8f5f..ffa8623 100644
--- a/protocols/bmv2/pom.xml
+++ b/protocols/bmv2/pom.xml
@@ -26,243 +26,15 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>onos-bmv2-protocol</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
 
-    <packaging>bundle</packaging>
+    <modules>
+        <module>api</module>
+        <module>ctl</module>
+        <module>thrift-api</module>
+    </modules>
+
+    <packaging>pom</packaging>
 
     <description>BMv2 protocol subsystem</description>
 
-    <properties>
-        <!-- BMv2 Commit ID and Thrift version -->
-        <bmv2.commit>4421bafd6d26740b0bbf802c2e9f9f54c1211b13</bmv2.commit>
-        <bmv2.thrift.version>0.9.3</bmv2.thrift.version>
-        <!-- Do not change below -->
-        <bmv2.baseurl>
-            https://raw.githubusercontent.com/ccascone/behavioral-model/${bmv2.commit}
-        </bmv2.baseurl>
-        <bmv2.thrift.srcdir>${project.basedir}/src/main/thrift</bmv2.thrift.srcdir>
-        <thrift.path>${project.build.directory}/thrift-compiler/</thrift.path>
-        <thrift.filename>thrift-${os.detected.classifier}.exe</thrift.filename>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.thrift</groupId>
-            <artifactId>libthrift</artifactId>
-            <version>${bmv2.thrift.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onos-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.scr.annotations</artifactId>
-        </dependency>
-    </dependencies>
-
-    <repositories>
-        <!-- Needed for thrift-compiler, which is hosted on GitHub -->
-        <repository>
-            <id>jitpack.io</id>
-            <url>https://jitpack.io</url>
-        </repository>
-    </repositories>
-
-    <build>
-        <extensions>
-            <extension>
-                <groupId>kr.motd.maven</groupId>
-                <artifactId>os-maven-plugin</artifactId>
-                <version>1.4.0.Final</version>
-            </extension>
-        </extensions>
-
-        <plugins>
-            <!-- Download Thrift source files from BMv2 Github repo -->
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>wagon-maven-plugin</artifactId>
-                <version>1.0</version>
-                <executions>
-                    <execution>
-                        <id>download-bmv2-thrift-standard</id>
-                        <phase>initialize</phase>
-                        <goals>
-                            <goal>download-single</goal>
-                        </goals>
-                        <configuration>
-                            <url>${bmv2.baseurl}</url>
-                            <fromFile>thrift_src/standard.thrift</fromFile>
-                            <toDir>${bmv2.thrift.srcdir}</toDir>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>download-bmv2-thrift-simple_pre</id>
-                        <phase>initialize</phase>
-                        <goals>
-                            <goal>download-single</goal>
-                        </goals>
-                        <configuration>
-                            <url>${bmv2.baseurl}</url>
-                            <fromFile>thrift_src/simple_pre.thrift</fromFile>
-                            <toDir>${bmv2.thrift.srcdir}</toDir>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>download-bmv2-thrift-simple_pre_lag</id>
-                        <phase>initialize</phase>
-                        <goals>
-                            <goal>download-single</goal>
-                        </goals>
-                        <configuration>
-                            <url>${bmv2.baseurl}</url>
-                            <fromFile>thrift_src/simple_pre_lag.thrift
-                            </fromFile>
-                            <toDir>${bmv2.thrift.srcdir}</toDir>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>download-bmv2-thrift-simple_switch</id>
-                        <phase>initialize</phase>
-                        <goals>
-                            <goal>download-single</goal>
-                        </goals>
-                        <configuration>
-                            <url>${bmv2.baseurl}</url>
-                            <fromFile>
-                                targets/simple_switch/thrift/simple_switch.thrift
-                            </fromFile>
-                            <toDir>${bmv2.thrift.srcdir}</toDir>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>download-bmv2-thrift-simple_switch-cpservice</id>
-                        <phase>initialize</phase>
-                        <goals>
-                            <goal>download-single</goal>
-                        </goals>
-                        <configuration>
-                            <url>${bmv2.baseurl}</url>
-                            <fromFile>
-                                targets/simple_switch/thrift/control_plane.thrift
-                            </fromFile>
-                            <toDir>${bmv2.thrift.srcdir}</toDir>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <!-- Extract Thrift compiler -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>unpack</id>
-                        <phase>initialize</phase>
-                        <goals>
-                            <goal>unpack</goal>
-                        </goals>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>com.github.ccascone</groupId>
-                                    <artifactId>mvn-thrift-compiler</artifactId>
-                                    <version>1.1_${bmv2.thrift.version}</version>
-                                    <type>jar</type>
-                                    <includes>${thrift.filename}</includes>
-                                    <outputDirectory>${project.build.directory}/thrift-compiler</outputDirectory>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <!-- Add missing java namespace to Thrift files -->
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>exec-maven-plugin</artifactId>
-                <version>1.4.0</version>
-                <executions>
-                    <execution>
-                        <id>add-bmv2-thrift-java-namespace</id>
-                        <phase>initialize</phase>
-                        <goals>
-                            <goal>exec</goal>
-                        </goals>
-                        <configuration>
-                            <executable>${bmv2.thrift.srcdir}/patch.sh
-                            </executable>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>set-thrift-compiler-permissions</id>
-                        <phase>initialize</phase>
-                        <goals>
-                            <goal>exec</goal>
-                        </goals>
-                        <configuration>
-                            <executable>chmod</executable>
-                            <arguments>
-                                <argument>+x</argument>
-                                <argument>${thrift.path}/${thrift.filename}</argument>
-                            </arguments>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <!-- Compile Thrift files -->
-            <plugin>
-                <groupId>org.apache.thrift.tools</groupId>
-                <artifactId>maven-thrift-plugin</artifactId>
-                <version>0.1.11</version>
-                <configuration>
-                    <thriftExecutable>${thrift.path}/${thrift.filename}</thriftExecutable>
-                    <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>thrift-sources</id>
-                        <phase>initialize</phase>
-                        <goals>
-                            <goal>compile</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <!-- Make generated sources visible -->
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <version>1.4</version>
-                <executions>
-                    <execution>
-                        <id>add-thrift-sources-to-path</id>
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>add-source</goal>
-                        </goals>
-                        <configuration>
-                            <sources>
-                                <source>
-                                    ${project.build.directory}/generated-sources
-                                </source>
-                            </sources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <!-- OSGi -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-scr-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.onosproject</groupId>
-                <artifactId>onos-maven-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
\ No newline at end of file
