diff --git a/apps/foo/src/main/java/org/onlab/onos/foo/SimpleNettyServer.java b/apps/foo/src/main/java/org/onlab/onos/foo/SimpleNettyServer.java
index 1ec7739..fe8e058 100644
--- a/apps/foo/src/main/java/org/onlab/onos/foo/SimpleNettyServer.java
+++ b/apps/foo/src/main/java/org/onlab/onos/foo/SimpleNettyServer.java
@@ -1,10 +1,6 @@
 package org.onlab.onos.foo;
 
-import java.io.IOException;
-
-import org.jboss.netty.handler.logging.LoggingHandler;
 import org.onlab.netty.EchoHandler;
-import org.onlab.netty.KryoSerializer;
 import org.onlab.netty.NettyMessagingService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -22,17 +18,11 @@
                 System.exit(0);
             }
 
-        public static void startStandalone(String[] args) throws IOException {
-                NettyMessagingService server = new NettyMessagingService(8080);
-            try {
-                server.activate();
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-            server.setSerializer(new KryoSerializer());
-                    server.registerHandler("simple",
-                        (org.onlab.netty.MessageHandler) new LoggingHandler());
-                server.registerHandler("echo", new EchoHandler());
+        public static void startStandalone(String[] args) throws Exception {
+            NettyMessagingService server = new NettyMessagingService(8080);
+            server.activate();
+            server.registerHandler("simple", new org.onlab.netty.LoggingHandler());
+            server.registerHandler("echo", new EchoHandler());
         }
     }
 
