diff --git a/build.gradle b/build.gradle
index ac02f8c..cd2bfee 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,21 +7,21 @@
 }
 
 plugins {
-  id 'org.sonarqube' version '1.2'
-  id 'net.saliman.cobertura' version '2.3.0'
+  id "org.sonarqube" version "2.6.2"
+  id 'net.saliman.cobertura' version '2.5.4'
 }
 
 apply plugin: 'java'
 apply plugin: 'maven'
 apply plugin: 'signing'
-apply plugin: 'maven-publish'
 apply plugin: 'checkstyle'
 
-group = 'com.intel.jndn.management'
-version = '1.1.3'
+// group = 'com.intel.jndn.management'
+group = 'net.named-data.jndn-extra'
+version = '1.1.4'
 
-sourceCompatibility = JavaVersion.VERSION_1_7
-targetCompatibility = JavaVersion.VERSION_1_7
+sourceCompatibility = JavaVersion.VERSION_1_8
+targetCompatibility = JavaVersion.VERSION_1_8
 compileJava.options.encoding = 'UTF-8'
 
 repositories {
@@ -29,7 +29,7 @@
   jcenter()
   mavenCentral()
   maven {
-    url "https://oss.sonatype.org/content/repositories/snapshots/"
+    url "https://oss.sonatype.org/content/repositories/releases/"
   }
 }
 
@@ -56,13 +56,13 @@
 }
 
 dependencies {
-  compile 'net.named-data:jndn:0.13'
+  compile 'net.named-data:jndn:0.17'
 
   testCompile 'junit:junit:4.12'
-  testCompile 'com.intel.jndn.mock:jndn-mock:1.0.3'
-  testRuntime 'org.slf4j:slf4j-api:1.7.16'
+  testCompile 'net.named-data.jndn-extra:jndn-mock:1.1.1'
+  testRuntime 'org.slf4j:slf4j-api:1.7.25'
 
-  checkstyleConfig "com.puppycrawl.tools:checkstyle:6.15"
+  checkstyleConfig "com.puppycrawl.tools:checkstyle:8.11"
 }
 
 task javadocJar(type: Jar) {
@@ -77,8 +77,12 @@
 
 task integrationTest(type: Test) {
   description 'Compile and run integration tests'
-  testClassesDir = sourceSets.integrationTest.output.classesDir
+  group = 'verification'
+
+  testClassesDirs = sourceSets.integrationTest.output.classesDirs
   classpath = sourceSets.integrationTest.runtimeClasspath
+
+  mustRunAfter test
 }
 
 tasks.withType(Test) {
@@ -88,7 +92,7 @@
     showStandardStreams = true
     exceptionFormat = "full"
   }
-//  outputs.upToDateWhen { false }
+  outputs.upToDateWhen { false }
 }
 
 tasks.withType(Checkstyle) {
@@ -116,15 +120,6 @@
   archives javadocJar, sourcesJar
 }
 
-publishing {
-  publications {
-    mavenJava(MavenPublication) {
-      artifact javadocJar
-      artifact sourcesJar
-    }
-  }
-}
-
 signing {
   required { gradle.taskGraph.hasTask("uploadArchives") }
   sign configurations.archives
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 42bb9a5..b249a5c 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun Jan 31 09:57:58 PST 2016
+#Sun Nov 12 15:16:12 EST 2017
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-all.zip
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 51eb6e0..0000000
--- a/pom.xml
+++ /dev/null
@@ -1,154 +0,0 @@
-<?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/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.intel.jndn.management</groupId>
-  <artifactId>jndn-management</artifactId>
-  <version>1.1.3</version>
-  <name>jndn-management</name>
-  <description>Tools for managing an NDN forwarding daemon</description>
-  <url>https://github.com/01org/jndn-management</url>
-  <packaging>jar</packaging>
-  <licenses>
-    <license>
-      <name>LGPL v3</name>
-      <url>https://www.gnu.org/licenses/lgpl.html</url>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>Andrew Brown</name>
-      <url>http://github.com/andrewsbrown</url>
-    </developer>
-    <developer>
-      <name>Alexander Afanasyev</name>
-      <email>aa@cs.ucla.edu</email>
-    </developer>
-  </developers>
-  <scm>
-    <url>https://github.com/01org/jndn-management</url>
-    <connection>scm:git:git@github.com:01org/jndn-management.git</connection>
-    <developerConnection>scm:git:git@github.com:01org/jndn-management.git</developerConnection>
-  </scm>
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>1.7</maven.compiler.source>
-    <maven.compiler.target>1.7</maven.compiler.target>
-  </properties>
-  <dependencies>
-    <dependency>
-      <groupId>net.named-data</groupId>
-      <artifactId>jndn</artifactId>
-      <version>0.13</version>
-    </dependency>
-    <!-- test dependencies -->
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.intel.jndn.mock</groupId>
-      <artifactId>jndn-mock</artifactId>
-      <version>1.0.3</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-  <profiles>
-    <profile>
-      <id>ossrh</id>
-      <build>
-        <plugins>
-          <!-- OSSRH-directed plugins (see http://central.sonatype.org/pages/apache-maven.html) -->
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-source-plugin</artifactId>
-            <version>2.4</version>
-            <executions>
-              <execution>
-                <id>attach-sources</id>
-                <goals>
-                  <goal>jar-no-fork</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-javadoc-plugin</artifactId>
-            <version>2.10.1</version>
-            <configuration>
-              <additionalparam>-Xdoclint:none</additionalparam>
-            </configuration>
-            <executions>
-              <execution>
-                <id>attach-javadocs</id>
-                <goals>
-                  <goal>jar</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-          <plugin>
-            <groupId>org.sonatype.plugins</groupId>
-            <artifactId>nexus-staging-maven-plugin</artifactId>
-            <version>1.6.3</version>
-            <extensions>true</extensions>
-            <configuration>
-              <serverId>ossrh</serverId>
-              <stagingProfileId>a80137db01223a</stagingProfileId>
-              <nexusUrl>https://oss.sonatype.org/</nexusUrl>
-              <autoReleaseAfterClose>true</autoReleaseAfterClose>
-            </configuration>
-          </plugin>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-gpg-plugin</artifactId>
-            <version>1.5</version>
-            <executions>
-              <execution>
-                <id>sign-artifacts</id>
-                <phase>verify</phase>
-                <goals>
-                  <goal>sign</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <!-- run `mvn clean javadoc:javadoc scm-publish:publish-scm -P docs` to push
-    Javadoc to Github -->
-    <profile>
-      <id>docs</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-javadoc-plugin</artifactId>
-            <version>2.10.2</version>
-            <configuration>
-              <additionalparam>-Xdoclint:none</additionalparam>
-            </configuration>
-          </plugin>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-scm-publish-plugin</artifactId>
-            <version>1.1</version>
-            <configuration>
-              <checkoutDirectory>${project.build.directory}/scmpublish</checkoutDirectory>
-              <checkinComment>Publishing javadoc for ${project.artifactId}:${project.version}</checkinComment>
-              <content>${project.build.directory}/site/apidocs</content>
-              <skipDeletedFiles>true</skipDeletedFiles>
-              <pubScmUrl>scm:git:https://github.com/01org/jndn-management.git</pubScmUrl>
-              <scmBranch>gh-pages</scmBranch>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-</project>
diff --git a/src/main/java/com/intel/jndn/management/types/Decodable.java b/src/main/java/com/intel/jndn/management/types/Decodable.java
index 7d5ae11..27e3dbd 100644
--- a/src/main/java/com/intel/jndn/management/types/Decodable.java
+++ b/src/main/java/com/intel/jndn/management/types/Decodable.java
@@ -29,5 +29,5 @@
    * @param decoder Instance of TlvDecoder
    * @throws EncodingException when decoding fails
    */
-  void wireDecode(final TlvDecoder decoder) throws EncodingException;
+  void wireDecode(TlvDecoder decoder) throws EncodingException;
 }
