Added cubby-holes for new projects.
diff --git a/of/api/pom.xml b/of/api/pom.xml
new file mode 100644
index 0000000..bff56bd
--- /dev/null
+++ b/of/api/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.onlab.onos</groupId>
+        <artifactId>onos-of</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>onos-of-api</artifactId>
+    <packaging>bundle</packaging>
+
+    <description>ONOS OpenFlow controller subsystem API</description>
+
+</project>
diff --git a/of/api/src/main/java/org/onlab/onos/of/controller/DeleteMe.java b/of/api/src/main/java/org/onlab/onos/of/controller/DeleteMe.java
new file mode 100644
index 0000000..1db6eae
--- /dev/null
+++ b/of/api/src/main/java/org/onlab/onos/of/controller/DeleteMe.java
@@ -0,0 +1,7 @@
+package org.onlab.onos.of.controller;
+
+/**
+ * Created by tom on 8/21/14.
+ */
+public interface DeleteMe {
+}
diff --git a/of/api/src/main/javadoc/org/onlab/onos/of/controller/package.html b/of/api/src/main/javadoc/org/onlab/onos/of/controller/package.html
new file mode 100644
index 0000000..91f754f
--- /dev/null
+++ b/of/api/src/main/javadoc/org/onlab/onos/of/controller/package.html
@@ -0,0 +1,3 @@
+<body>
+OpenFlow controller API.
+</body>
\ No newline at end of file
diff --git a/of/ctl/pom.xml b/of/ctl/pom.xml
index fcdc921..8142bc9 100644
--- a/of/ctl/pom.xml
+++ b/of/ctl/pom.xml
@@ -1,624 +1,140 @@
-<?xml version="1.0"?>
-<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>
-  <prerequisites>
-    <maven>3.0.4</maven>
-  </prerequisites>
-  <groupId>net.onrc.onos.of.ctl</groupId>
-  <artifactId>io</artifactId>
-  <version>0.0.1</version>
-  <packaging>bundle</packaging>
-  <name>of-ctl</name>
-  <url>http://onlab.us/</url>
-  <licenses>
-    <license>
-      <name>Apache License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-    </license>
-  </licenses>
-  <repositories>
-    <repository>
-      <id>central</id>
-      <name>Maven Central repository</name>
-      <url>https://repo1.maven.org/maven2</url>
-    </repository>
-    <repository>
-      <id>maven-restlet</id>
-      <name>Public online Restlet repository</name>
-      <url>http://maven.restlet.org</url>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>sonatype-oss-snapshot</id>
-      <name>Sonatype OSS snapshot repository</name>
-      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-    </repository>
-  </repositories>
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <powermock.version>1.5.5</powermock.version>
-    <restlet.version>2.1.4</restlet.version>
-    <cobertura-maven-plugin.version>2.6</cobertura-maven-plugin.version>
-    <!-- Following 2 findbugs version needs to be updated in sync to match the
-         findbugs version used in findbugs-plugin -->
-    <findbugs.version>3.0.0</findbugs.version>
-    <findbugs-plugin.version>3.0.0</findbugs-plugin.version>
-    <findbugs.effort>Max</findbugs.effort>
-    <findbugs.excludeFilterFile>${project.basedir}/conf/findbugs/exclude.xml</findbugs.excludeFilterFile>
-    <checkstyle-plugin.version>2.12</checkstyle-plugin.version>
-    <!-- To publish javadoc to github,
-     uncomment com.github.github site-maven-plugin and
-     see https://github.com/OPENNETWORKINGLAB/ONOS/pull/425
-    <github.global.server>github</github.global.server>
-     -->
-    <metrics.version>3.0.2</metrics.version>
-    <maven.surefire.plugin.version>2.16</maven.surefire.plugin.version>
-  </properties>
-  <build>
-    <plugins>
-    <plugin>
-	<groupId>org.apache.felix</groupId>
-	<artifactId>maven-scr-plugin</artifactId>
-	<version>1.15.0</version>
-	<executions>
-		<execution>
-			<id>generate-scr-srcdescriptor</id>
-			<goals>
-				<goal>scr</goal>
-			</goals>
-		</execution>
-	</executions>
-	<configuration>
-		<supportedProjectTypes>
-			<supportedProjectType>bundle</supportedProjectType>
-			<supportedProjectType>war</supportedProjectType>
-		</supportedProjectTypes>
-	</configuration>
-</plugin> 
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>2.3.6</version>
-        <extensions>true</extensions>
-        <configuration>
-            <instructions>
-             <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
-            </instructions>
-        </configuration>
-      </plugin>
-      <!-- Note: the checkstyle configuration is also in the reporting section -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-        <version>${checkstyle-plugin.version}</version>
-        <configuration>
-          <configLocation>${project.basedir}/conf/checkstyle/sun_checks.xml</configLocation>
-          <propertiesLocation>${project.basedir}/conf/checkstyle/checkstyle_maven.properties</propertiesLocation>
-          <failsOnError>false</failsOnError>
-          <logViolationsToConsole>true</logViolationsToConsole>
-          <includeTestSourceDirectory>true</includeTestSourceDirectory>
-        </configuration>
-        <executions>
-          <execution>
-            <id>validate-checkstyle</id>
-            <phase>verify</phase>
-            <goals>
-              <goal>check</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin> 
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-install-plugin</artifactId>
-        <version>2.5.1</version>
-        <executions>
-        </executions>
-      </plugin>
-      <!-- guice maven plugin for dependency injection inside maven -->
-      <plugin>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>guice-maven-plugin</artifactId>
-        <version>2.11.0</version>
-      </plugin>
-      <plugin>
-        <artifactId>maven-clean-plugin</artifactId>
-        <version>2.5</version>
-      </plugin>
-      <plugin>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <version>2.8</version>
-      </plugin>
-      <plugin>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>2.4</version>
-      </plugin>
-      <plugin>
-        <artifactId>maven-resources-plugin</artifactId>
-        <version>2.6</version>
-      </plugin>
-      <plugin>
-        <artifactId>maven-site-plugin</artifactId>
-        <version>3.3</version>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.1</version>
-        <configuration>
-          <source>1.7</source>
-          <target>1.7</target>
-          <encoding>UTF-8</encoding>
-          <showDeprecation>true</showDeprecation>
-          <showWarnings>true</showWarnings>
-          <compilerArgs>
-            <arg>-Xlint:all</arg>
-            <arg>-Xlint:-serial</arg>
-            <arg>-Werror</arg>
-          </compilerArgs>
-        </configuration>
-        <executions>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>${maven.surefire.plugin.version}</version>
-        <configuration>
-          <!-- FIXME -XX:-UseSplitVerifier added as workaround for JDK 1.7.0u65 + PowerMock issue
-                 https://issues.jboss.org/browse/JASSIST-228 -->
-          <argLine>-XX:MaxPermSize=256m -XX:-UseSplitVerifier</argLine>
-          <redirectTestOutputToFile>false</redirectTestOutputToFile>
-        </configuration>
-      </plugin>
-      <!-- TODO exec:java no longer used remove at some point? -->
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>exec-maven-plugin</artifactId>
-        <version>1.2.1</version>
-        <configuration>
-          <mainClass>net.onrc.onos.core.main.Main</mainClass>
-        </configuration>
-        <executions>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-javadoc-plugin</artifactId>
-        <version>2.9.1</version>
-        <configuration>
-          <charset>UTF-8</charset>
-          <locale>en</locale>
-          <author>false</author>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <version>2.4</version>
-        <configuration>
-          <descriptorRefs>
-            <descriptorRef>jar-with-dependencies</descriptorRef>
-          </descriptorRefs>
-        </configuration>
-      </plugin>
-      <plugin>
-        <!-- Using groovy script to set maven property ${hostname}.
-             This is a workaround to get hostname as a property inside pom file,
-             which current Maven does not provide. -->
-        <groupId>org.codehaus.gmaven</groupId>
-        <artifactId>groovy-maven-plugin</artifactId>
-        <version>2.0</version>
-        <executions>
-          <execution>
-            <phase>initialize</phase>
-            <goals>
-              <goal>execute</goal>
-            </goals>
-            <configuration>
-              <source>
-                project.properties["hostname"] = InetAddress.getLocalHost().getHostName()
-              </source>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <version>2.8</version>
-        <executions>
-          <execution>
-            <id>build-classpath</id>
-            <phase>compile</phase>
-            <goals>
-              <goal>build-classpath</goal>
-            </goals>
-            <configuration>
-              <outputFile>${project.basedir}/.javacp.${hostname}</outputFile>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>cobertura-maven-plugin</artifactId>
-        <version>${cobertura-maven-plugin.version}</version>
-        <configuration>
-          <instrumentation>
-            <ignores>
-              <ignore>org.slf4j.*</ignore>
-            </ignores>
-          </instrumentation>
-          <quiet>true</quiet>
-        </configuration>
-        <executions>
-          <execution>
-            <goals>
-              <goal>clean</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <!-- Note: the findbugs configuration is also in the reporting section -->
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>findbugs-maven-plugin</artifactId>
-        <version>${findbugs-plugin.version}</version>
-        <configuration>
-          <effort>${findbugs.effort}</effort>
-          <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
-        </configuration>
-        <executions>
-          <execution>
-            <id>validate-findbugs</id>
-            <phase>verify</phase>
-            <goals>
-              <goal>check</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin> 
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-pmd-plugin</artifactId>
-        <version>3.1</version>
-        <configuration>
-          <!--
-            Note: Exclusion definition exists in multiple places.
-            - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
-            - In file conf/checkstyle/onos_suppressions.xml
-            - maven-pmd-plugin configuration in pom.xml
-              (under build and reporting)
-          -->
-          <rulesets>
-            <ruleset>${basedir}/conf/pmd/ruleset.xml</ruleset>
-          </rulesets>
-        </configuration>
-        <executions>
-          <execution>
-            <id>validate-pmd</id>
-            <phase>verify</phase>
-            <goals>
-              <!--  Uncomment this goal to make the build fail on pmd errors -->
-              <!--<goal>check</goal>-->
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-    <pluginManagement>
-      <plugins>
-        <!--This plugin's configuration is used to store Eclipse m2e settings 
-          only. It has no influence on the Maven build itself. -->
-        <plugin>
-          <groupId>org.eclipse.m2e</groupId>
-          <artifactId>lifecycle-mapping</artifactId>
-          <version>1.0.0</version>
-          <configuration>
-            <lifecycleMappingMetadata>
-              <pluginExecutions>
-                <pluginExecution>
-                  <pluginExecutionFilter>
-                    <groupId>
-                      org.apache.maven.plugins
-                    </groupId>
-                    <artifactId>
-                      maven-dependency-plugin
-                    </artifactId>
-                    <versionRange>[2.8,)</versionRange>
-                    <goals>
-                      <goal>build-classpath</goal>
-                    </goals>
-                  </pluginExecutionFilter>
-                  <action>
-                    <ignore></ignore>
-                  </action>
-                </pluginExecution>
-                <pluginExecution>
-                  <pluginExecutionFilter>
-                    <groupId>org.codehaus.gmaven</groupId>
-                    <artifactId>groovy-maven-plugin</artifactId>
-                    <versionRange>[2.0,)</versionRange>
-                    <goals>
-                      <goal>execute</goal>
-                    </goals>
-                  </pluginExecutionFilter>
-                  <action>
-                    <ignore></ignore>
-                  </action>
-                </pluginExecution>
-              </pluginExecutions>
-            </lifecycleMappingMetadata>
-          </configuration>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-  <!-- for getting visualization reporting -->
-  <reporting>
-    <excludeDefaults>true</excludeDefaults>
-    <outputDirectory>${project.build.directory}/site</outputDirectory>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-project-info-reports-plugin</artifactId>
-        <version>2.7</version>
-        <configuration>
-          <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
-          <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-        </configuration>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>dependencies</report>
-              <report>scm</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-javadoc-plugin</artifactId>
-        <version>2.9.1</version>
-        <configuration>
-          <charset>UTF-8</charset>
-          <locale>en</locale>
-          <author>false</author>
-          <excludePackageNames>net.floodlightcontroller.*:net.onrc.onos.core.datastore.serializers</excludePackageNames>
-        </configuration>
-      </plugin>
-      <plugin>
-        <!-- Note: the checkstyle configuration is also in the build section -->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-        <version>${checkstyle-plugin.version}</version>
-        <configuration>
-          <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
-          <!--
-            Note: Exclusion definition exists in multiple places.
-            - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
-            - maven-checkstyle-plugin configuration in pom.xml
-            - maven-pmd-plugin configuration in pom.xml
-              (under build and reporting)
-          -->
-          <propertiesLocation>${basedir}/conf/checkstyle/checkstyle_maven.properties</propertiesLocation>
-          <includeTestSourceDirectory>true</includeTestSourceDirectory>
-        </configuration>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>checkstyle</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-      <!-- Note: the findbugs configuration is also in the build section -->
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>findbugs-maven-plugin</artifactId>
-        <version>${findbugs-plugin.version}</version>
-        <configuration>
-          <effort>${findbugs.effort}</effort>
-          <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
-          <reportPlugins>
+<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/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.onlab.onos</groupId>
+        <artifactId>onos-of</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>onos-of-ctl</artifactId>
+    <packaging>bundle</packaging>
+
+    <description>ONOS OpenFlow controller subsystem API</description>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <powermock.version>1.5.5</powermock.version>
+        <restlet.version>2.1.4</restlet.version>
+        <cobertura-maven-plugin.version>2.6</cobertura-maven-plugin.version>
+        <!-- Following 2 findbugs version needs to be updated in sync to match the
+             findbugs version used in findbugs-plugin -->
+        <findbugs.version>3.0.0</findbugs.version>
+        <findbugs-plugin.version>3.0.0</findbugs-plugin.version>
+        <findbugs.effort>Max</findbugs.effort>
+        <findbugs.excludeFilterFile>${project.basedir}/conf/findbugs/exclude.xml
+        </findbugs.excludeFilterFile>
+        <checkstyle-plugin.version>2.12</checkstyle-plugin.version>
+        <!-- To publish javadoc to github,
+         uncomment com.github.github site-maven-plugin and
+         see https://github.com/OPENNETWORKINGLAB/ONOS/pull/425
+        <github.global.server>github</github.global.server>
+         -->
+        <metrics.version>3.0.2</metrics.version>
+        <maven.surefire.plugin.version>2.16</maven.surefire.plugin.version>
+    </properties>
+
+    <dependencies>
+        <!-- ONOS's direct dependencies -->
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.scr.annotations</artifactId>
+            <version>1.9.6</version>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>1.1.2</version>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-core</artifactId>
+            <version>1.1.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>1.7.5</version>
+        </dependency>
+        <dependency>
+            <!-- findbugs suppression annotation and @GuardedBy, etc. -->
+            <groupId>com.google.code.findbugs</groupId>
+            <artifactId>annotations</artifactId>
+            <version>${findbugs.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectfloodlight</groupId>
+            <artifactId>openflowj</artifactId>
+            <version>0.3.6-SNAPSHOT</version>
+        </dependency>
+        <!-- Floodlight's dependencies -->
+        <dependency>
+            <!-- dependency to old version of netty? -->
+            <groupId>io.netty</groupId>
+            <artifactId>netty</artifactId>
+            <version>3.9.2.Final</version>
+        </dependency>
+        <!-- Dependency for libraries used for testing -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.11</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.easymock</groupId>
+            <artifactId>easymock</artifactId>
+            <version>3.2</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-module-junit4</artifactId>
+            <version>${powermock.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-api-easymock</artifactId>
+            <version>${powermock.version}</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+
+    <build>
+        <plugins>
             <plugin>
-              <groupId>org.codehaus.mojo</groupId>
-              <artifactId>findbugs-maven-plugin</artifactId>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
             </plugin>
-          </reportPlugins>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-pmd-plugin</artifactId>
-        <version>3.1</version>
-        <configuration>
-          <!--
-            Note: Exclusion definition exists in multiple places.
-            - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
-            - In file conf/checkstyle/onos_suppressions.xml
-            - maven-pmd-plugin configuration in pom.xml
-              (under build and reporting)
-          -->
-          <excludes>
-            <exclude>**/datastore/serializers/**</exclude>
-            <exclude>**/edu/stanford/**</exclude>
-            <exclude>**/net/floodlightcontroller/**</exclude>
-          </excludes>
-          <rulesets>
-            <ruleset>${basedir}/conf/pmd/onos_ruleset.xml</ruleset>
-          </rulesets>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jxr-plugin</artifactId>
-        <version>2.4</version>
-    </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>cobertura-maven-plugin</artifactId>
-        <version>${cobertura-maven-plugin.version}</version>
-      </plugin>
-    </plugins>
-  </reporting>
-  <dependencies>
-    <!-- ONOS's direct dependencies -->
-	<dependency>
-		<groupId>org.apache.felix</groupId>
-		<artifactId>org.apache.felix.scr.annotations</artifactId>
-		<version>1.9.6</version>
-	</dependency>
-    <dependency>
-      <groupId>ch.qos.logback</groupId>
-      <artifactId>logback-classic</artifactId>
-      <version>1.1.2</version>
-    </dependency>
-    <dependency>
-      <groupId>ch.qos.logback</groupId>
-      <artifactId>logback-core</artifactId>
-      <version>1.1.2</version>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.7.5</version>
-    </dependency>
-    <dependency>
-      <!-- findbugs suppression annotation and @GuardedBy, etc. -->
-      <groupId>com.google.code.findbugs</groupId>
-      <artifactId>annotations</artifactId>
-      <version>${findbugs.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.projectfloodlight</groupId>
-      <artifactId>openflowj</artifactId>
-      <version>0.3.6-SNAPSHOT</version>
-    </dependency>
-    <!-- Floodlight's dependencies -->
-    <dependency>
-      <!-- dependency to old version of netty? -->
-      <groupId>io.netty</groupId>
-      <artifactId>netty</artifactId>
-      <version>3.9.2.Final</version>
-    </dependency>
-    <!-- Dependency for libraries used for testing -->
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.11</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <version>3.2</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.powermock</groupId>
-      <artifactId>powermock-module-junit4</artifactId>
-      <version>${powermock.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.powermock</groupId>
-      <artifactId>powermock-api-easymock</artifactId>
-      <version>${powermock.version}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-  <profiles>
-    <!-- Jenkins by default defines a property BUILD_NUMBER which is used to 
-      enable the profile. -->
-    <profile>
-      <id>jenkins</id>
-      <activation>
-        <property>
-          <name>env.BUILD_NUMBER</name>
-        </property>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>cobertura-maven-plugin</artifactId>
-            <version>${cobertura-maven-plugin.version}</version>
-            <configuration>
-              <formats>
-                <format>xml</format>
-              </formats>
-              <quiet>true</quiet>
-            </configuration>
-            <executions>
-              <execution>
-                <phase>package</phase>
-                <goals>
-                  <goal>cobertura</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
+
+            <plugin>
+                <!-- Using groovy script to set maven property ${hostname}.
+                     This is a workaround to get hostname as a property inside pom file,
+                     which current Maven does not provide. -->
+                <groupId>org.codehaus.gmaven</groupId>
+                <artifactId>groovy-maven-plugin</artifactId>
+                <version>2.0</version>
+                <executions>
+                    <execution>
+                        <phase>initialize</phase>
+                        <goals>
+                            <goal>execute</goal>
+                        </goals>
+                        <configuration>
+                            <source>
+                                project.properties["hostname"] =
+                                InetAddress.getLocalHost().getHostName()
+                            </source>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>all-tests</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <version>${maven.surefire.plugin.version}</version>
-            <configuration combine.self="merge">
-              <excludedGroups></excludedGroups>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>error-prone</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-compiler-plugin</artifactId>
-            <version>3.1</version>
-            <configuration>
-              <compilerArgs combine.children="append">
-                <!-- FIXME -Xlint:-path required when using findbugs + error-prone -->
-                <arg>-Xlint:-path</arg>
-              </compilerArgs>
-              <!-- Turn on error-prone -->
-              <compilerId>javac-with-errorprone</compilerId>
-              <forceJavacCompilerUse>true</forceJavacCompilerUse>
-            </configuration>
-            <dependencies combine.children="append">
-              <dependency>
-                <groupId>com.google.errorprone</groupId>
-                <artifactId>error_prone_core</artifactId>
-                <version>1.1.2</version>
-              </dependency>
-              <dependency>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-compiler-javac</artifactId>
-                <version>2.3</version>
-              </dependency>
-              <dependency>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-compiler-javac-errorprone</artifactId>
-                <version>2.3</version>
-              </dependency>
-            </dependencies>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
+    </build>
+
 </project>
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/DebugCounter.java b/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/DebugCounter.java
index 6ea380c..76110b0 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/DebugCounter.java
+++ b/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/DebugCounter.java
@@ -24,6 +24,7 @@
  * system. For counters based on traffic-type, see ICounterStoreService.
  *
  */
+//CHECKSTYLE:OFF
 public class DebugCounter implements IDebugCounterService {
     protected static final Logger log = LoggerFactory.getLogger(DebugCounter.class);
 
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounterService.java b/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounterService.java
index 81a80b1..7f55040 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounterService.java
+++ b/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounterService.java
@@ -6,6 +6,7 @@
 
 import net.onrc.onos.of.ctl.debugcounter.DebugCounter.DebugCounterInfo;
 
+//CHECKSTYLE:OFF
 public interface IDebugCounterService {
 
     /**
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/NullDebugCounter.java b/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/NullDebugCounter.java
index 1775c50..4a88e2e 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/NullDebugCounter.java
+++ b/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/NullDebugCounter.java
@@ -5,6 +5,7 @@
 
 import net.onrc.onos.of.ctl.debugcounter.DebugCounter.DebugCounterInfo;
 
+//CHECKSTYLE:OFF
 public class NullDebugCounter implements IDebugCounterService {
 
     @Override
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFChannelHandler.java b/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFChannelHandler.java
index 3b18a59..764e48f 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFChannelHandler.java
+++ b/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFChannelHandler.java
@@ -1,3 +1,4 @@
+//CHECKSTYLE:OFF
 package net.onrc.onos.of.ctl.internal;
 
 import java.io.IOException;
diff --git a/of/pom.xml b/of/pom.xml
index b3be7b8..bed8519 100644
--- a/of/pom.xml
+++ b/of/pom.xml
@@ -1,23 +1,34 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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/maven-v4_0_0.xsd">
+<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/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
-  
+
     <parent>
-        <groupId>net.onrc.onos</groupId>
+        <groupId>org.onlab.onos</groupId>
         <artifactId>onos</artifactId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-     <artifactId>onos-of</artifactId>
-     <packaging>pom</packaging>
+    <artifactId>onos-of</artifactId>
+    <packaging>pom</packaging>
 
-     <name>onos-of</name>
-     <description>ONOS OpenFlow Protocol Library &amp; IO</description>
+    <description>ONOS OpenFlow Protocol subsystem</description>
 
-     <modules>
-          <module>lib</module>
-          <module>ctl</module>
-     </modules>
+    <modules>
+        <module>lib</module>
+        <module>api</module>
+        <module>ctl</module>
+    </modules>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
 
 </project>