diff --git a/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java b/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java
index aebe073..8afe34a 100644
--- a/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java
+++ b/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java
@@ -58,12 +58,12 @@
 import net.onrc.onos.core.linkdiscovery.ILinkDiscoveryService;
 import net.onrc.onos.core.linkdiscovery.internal.LinkDiscoveryManager;
 import net.onrc.onos.core.main.IOFSwitchPortListener;
-import net.onrc.onos.packet.ARP;
-import net.onrc.onos.packet.Ethernet;
-import net.onrc.onos.packet.IPacket;
-import net.onrc.onos.packet.IPv4;
-import net.onrc.onos.registry.controller.IControllerRegistryService;
-import net.onrc.onos.registry.controller.StandaloneRegistry;
+import net.onrc.onos.core.packet.ARP;
+import net.onrc.onos.core.packet.Ethernet;
+import net.onrc.onos.core.packet.IPacket;
+import net.onrc.onos.core.packet.IPv4;
+import net.onrc.onos.core.registry.IControllerRegistryService;
+import net.onrc.onos.core.registry.StandaloneRegistry;
 
 import org.easymock.Capture;
 import org.easymock.EasyMock;
diff --git a/src/test/java/net/floodlightcontroller/core/test/MockFloodlightProvider.java b/src/test/java/net/floodlightcontroller/core/test/MockFloodlightProvider.java
index 34a3f62..30ade50 100644
--- a/src/test/java/net/floodlightcontroller/core/test/MockFloodlightProvider.java
+++ b/src/test/java/net/floodlightcontroller/core/test/MockFloodlightProvider.java
@@ -42,7 +42,7 @@
 import net.floodlightcontroller.core.module.IFloodlightModule;
 import net.floodlightcontroller.core.module.IFloodlightService;
 import net.floodlightcontroller.core.util.ListenerDispatcher;
-import net.onrc.onos.packet.Ethernet;
+import net.onrc.onos.core.packet.Ethernet;
 
 import org.openflow.protocol.OFMessage;
 import org.openflow.protocol.OFPacketIn;
diff --git a/src/test/java/net/floodlightcontroller/core/test/PacketFactory.java b/src/test/java/net/floodlightcontroller/core/test/PacketFactory.java
index 6d78426..9ab9a40 100644
--- a/src/test/java/net/floodlightcontroller/core/test/PacketFactory.java
+++ b/src/test/java/net/floodlightcontroller/core/test/PacketFactory.java
@@ -4,11 +4,11 @@
 import java.util.List;
 
 import net.floodlightcontroller.util.MACAddress;
-import net.onrc.onos.packet.DHCP;
-import net.onrc.onos.packet.DHCPOption;
-import net.onrc.onos.packet.Ethernet;
-import net.onrc.onos.packet.IPv4;
-import net.onrc.onos.packet.UDP;
+import net.onrc.onos.core.packet.DHCP;
+import net.onrc.onos.core.packet.DHCPOption;
+import net.onrc.onos.core.packet.Ethernet;
+import net.onrc.onos.core.packet.IPv4;
+import net.onrc.onos.core.packet.UDP;
 
 import org.openflow.protocol.OFPacketIn;
 import org.openflow.protocol.OFPacketOut;
diff --git a/src/test/java/net/floodlightcontroller/util/MACAddressTest.java b/src/test/java/net/floodlightcontroller/util/MACAddressTest.java
index ee79566..f59321c 100644
--- a/src/test/java/net/floodlightcontroller/util/MACAddressTest.java
+++ b/src/test/java/net/floodlightcontroller/util/MACAddressTest.java
@@ -50,7 +50,7 @@
         MACAddress.valueOf(new byte[]{0x01, 0x01, 0x02, 0x03, 0x04});
     }
 
-    //  Test data is imported from net.onrc.onos.packet.EthernetTest
+    //  Test data is imported from net.onrc.onos.core.packet.EthernetTest
     @Test
     public void testToLong() {
         assertEquals(
diff --git a/src/test/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModuleTest.java b/src/test/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModuleTest.java
index 9060a51..24aee76 100644
--- a/src/test/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModuleTest.java
+++ b/src/test/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModuleTest.java
@@ -15,13 +15,13 @@
 import net.onrc.onos.core.intent.runtime.IntentStateList;
 import net.onrc.onos.core.intent.runtime.PathCalcRuntimeModule;
 import net.onrc.onos.core.intent.runtime.PersistIntent;
+import net.onrc.onos.core.registry.IControllerRegistryService;
 import net.onrc.onos.core.topology.DeviceEvent;
 import net.onrc.onos.core.topology.INetworkGraphListener;
 import net.onrc.onos.core.topology.INetworkGraphService;
 import net.onrc.onos.core.topology.LinkEvent;
 import net.onrc.onos.core.topology.PortEvent;
 import net.onrc.onos.core.topology.SwitchEvent;
-import net.onrc.onos.registry.controller.IControllerRegistryService;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/src/test/java/net/onrc/onos/core/intent/runtime/UseCaseTest.java b/src/test/java/net/onrc/onos/core/intent/runtime/UseCaseTest.java
index b8afdf2..fe2a863 100755
--- a/src/test/java/net/onrc/onos/core/intent/runtime/UseCaseTest.java
+++ b/src/test/java/net/onrc/onos/core/intent/runtime/UseCaseTest.java
@@ -25,6 +25,7 @@
 import net.onrc.onos.core.intent.runtime.PathCalcRuntimeModule;
 import net.onrc.onos.core.intent.runtime.PersistIntent;
 import net.onrc.onos.core.intent.runtime.PlanCalcRuntime;
+import net.onrc.onos.core.registry.IControllerRegistryService;
 import net.onrc.onos.core.topology.DeviceEvent;
 import net.onrc.onos.core.topology.INetworkGraphListener;
 import net.onrc.onos.core.topology.INetworkGraphService;
@@ -32,7 +33,6 @@
 import net.onrc.onos.core.topology.NetworkGraph;
 import net.onrc.onos.core.topology.PortEvent;
 import net.onrc.onos.core.topology.SwitchEvent;
-import net.onrc.onos.registry.controller.IControllerRegistryService;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/src/test/java/net/onrc/onos/packet/BSNTest.java b/src/test/java/net/onrc/onos/core/packet/BSNTest.java
similarity index 94%
rename from src/test/java/net/onrc/onos/packet/BSNTest.java
rename to src/test/java/net/onrc/onos/core/packet/BSNTest.java
index a72caef..aff3285 100644
--- a/src/test/java/net/onrc/onos/packet/BSNTest.java
+++ b/src/test/java/net/onrc/onos/core/packet/BSNTest.java
@@ -18,16 +18,16 @@
 /**
  *
  */
-package net.onrc.onos.packet;
+package net.onrc.onos.core.packet;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import java.util.Arrays;
 
-import net.onrc.onos.packet.BSN;
-import net.onrc.onos.packet.BSNPROBE;
-import net.onrc.onos.packet.Ethernet;
+import net.onrc.onos.core.packet.BSN;
+import net.onrc.onos.core.packet.BSNPROBE;
+import net.onrc.onos.core.packet.Ethernet;
 
 import org.junit.Test;
 
diff --git a/src/test/java/net/onrc/onos/packet/DHCPTest.java b/src/test/java/net/onrc/onos/core/packet/DHCPTest.java
similarity index 99%
rename from src/test/java/net/onrc/onos/packet/DHCPTest.java
rename to src/test/java/net/onrc/onos/core/packet/DHCPTest.java
index cc15bd1..66855d1 100644
--- a/src/test/java/net/onrc/onos/packet/DHCPTest.java
+++ b/src/test/java/net/onrc/onos/core/packet/DHCPTest.java
@@ -18,18 +18,18 @@
 /**
  * 
  */
-package net.onrc.onos.packet;
+package net.onrc.onos.core.packet;
 
 
 
 import java.util.Arrays;
 import java.util.ListIterator;
 
-import net.onrc.onos.packet.DHCP;
-import net.onrc.onos.packet.DHCPOption;
-import net.onrc.onos.packet.Ethernet;
-import net.onrc.onos.packet.IPv4;
-import net.onrc.onos.packet.UDP;
+import net.onrc.onos.core.packet.DHCP;
+import net.onrc.onos.core.packet.DHCPOption;
+import net.onrc.onos.core.packet.Ethernet;
+import net.onrc.onos.core.packet.IPv4;
+import net.onrc.onos.core.packet.UDP;
 import junit.framework.TestCase;
 
 
diff --git a/src/test/java/net/onrc/onos/packet/EthernetTest.java b/src/test/java/net/onrc/onos/core/packet/EthernetTest.java
similarity index 96%
rename from src/test/java/net/onrc/onos/packet/EthernetTest.java
rename to src/test/java/net/onrc/onos/core/packet/EthernetTest.java
index b22c779..6293a43 100644
--- a/src/test/java/net/onrc/onos/packet/EthernetTest.java
+++ b/src/test/java/net/onrc/onos/core/packet/EthernetTest.java
@@ -18,14 +18,14 @@
 /**
  * 
  */
-package net.onrc.onos.packet;
+package net.onrc.onos.core.packet;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import java.util.Arrays;
 
-import net.onrc.onos.packet.Ethernet;
+import net.onrc.onos.core.packet.Ethernet;
 
 import org.junit.Test;
 
diff --git a/src/test/java/net/onrc/onos/packet/ICMPTest.java b/src/test/java/net/onrc/onos/core/packet/ICMPTest.java
similarity index 92%
rename from src/test/java/net/onrc/onos/packet/ICMPTest.java
rename to src/test/java/net/onrc/onos/core/packet/ICMPTest.java
index 73e9cff..e09ae24 100644
--- a/src/test/java/net/onrc/onos/packet/ICMPTest.java
+++ b/src/test/java/net/onrc/onos/core/packet/ICMPTest.java
@@ -18,16 +18,16 @@
 /**
  * 
  */
-package net.onrc.onos.packet;
+package net.onrc.onos.core.packet;
 
 import static org.junit.Assert.assertTrue;
 
 import java.util.Arrays;
 
-import net.onrc.onos.packet.Data;
-import net.onrc.onos.packet.ICMP;
-import net.onrc.onos.packet.IPacket;
-import net.onrc.onos.packet.IPv4;
+import net.onrc.onos.core.packet.Data;
+import net.onrc.onos.core.packet.ICMP;
+import net.onrc.onos.core.packet.IPacket;
+import net.onrc.onos.core.packet.IPv4;
 
 import org.junit.Test;
 
diff --git a/src/test/java/net/onrc/onos/packet/IPv4Test.java b/src/test/java/net/onrc/onos/core/packet/IPv4Test.java
similarity index 97%
rename from src/test/java/net/onrc/onos/packet/IPv4Test.java
rename to src/test/java/net/onrc/onos/core/packet/IPv4Test.java
index b81be6f..3c47ffb 100644
--- a/src/test/java/net/onrc/onos/packet/IPv4Test.java
+++ b/src/test/java/net/onrc/onos/core/packet/IPv4Test.java
@@ -18,14 +18,14 @@
 /**
  * 
  */
-package net.onrc.onos.packet;
+package net.onrc.onos.core.packet;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import java.util.Arrays;
 
-import net.onrc.onos.packet.IPv4;
+import net.onrc.onos.core.packet.IPv4;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/net/onrc/onos/packet/LLDPOrganizationalTLVTest.java b/src/test/java/net/onrc/onos/core/packet/LLDPOrganizationalTLVTest.java
similarity index 97%
rename from src/test/java/net/onrc/onos/packet/LLDPOrganizationalTLVTest.java
rename to src/test/java/net/onrc/onos/core/packet/LLDPOrganizationalTLVTest.java
index 1a8367c..a887038 100644
--- a/src/test/java/net/onrc/onos/packet/LLDPOrganizationalTLVTest.java
+++ b/src/test/java/net/onrc/onos/core/packet/LLDPOrganizationalTLVTest.java
@@ -12,9 +12,9 @@
  *    under the License.
  **/
 
-package net.onrc.onos.packet;
+package net.onrc.onos.core.packet;
 
-import net.onrc.onos.packet.LLDPOrganizationalTLV;
+import net.onrc.onos.core.packet.LLDPOrganizationalTLV;
 
 import org.junit.Test;
 
diff --git a/src/test/java/net/onrc/onos/packet/LLDPTest.java b/src/test/java/net/onrc/onos/core/packet/LLDPTest.java
similarity index 92%
rename from src/test/java/net/onrc/onos/packet/LLDPTest.java
rename to src/test/java/net/onrc/onos/core/packet/LLDPTest.java
index c093efb..6ef83e2 100755
--- a/src/test/java/net/onrc/onos/packet/LLDPTest.java
+++ b/src/test/java/net/onrc/onos/core/packet/LLDPTest.java
@@ -18,17 +18,17 @@
 /**
  *
  */
-package net.onrc.onos.packet;
+package net.onrc.onos.core.packet;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import java.util.Arrays;
 
-import net.onrc.onos.packet.Ethernet;
-import net.onrc.onos.packet.IPacket;
-import net.onrc.onos.packet.LLDP;
-import net.onrc.onos.packet.LLDPTLV;
+import net.onrc.onos.core.packet.Ethernet;
+import net.onrc.onos.core.packet.IPacket;
+import net.onrc.onos.core.packet.LLDP;
+import net.onrc.onos.core.packet.LLDPTLV;
 
 import org.junit.Test;
 
diff --git a/src/test/java/net/onrc/onos/packet/PacketTest.java b/src/test/java/net/onrc/onos/core/packet/PacketTest.java
similarity index 94%
rename from src/test/java/net/onrc/onos/packet/PacketTest.java
rename to src/test/java/net/onrc/onos/core/packet/PacketTest.java
index f30c12b..6ca9307 100644
--- a/src/test/java/net/onrc/onos/packet/PacketTest.java
+++ b/src/test/java/net/onrc/onos/core/packet/PacketTest.java
@@ -1,12 +1,12 @@
-package net.onrc.onos.packet;
+package net.onrc.onos.core.packet;
 
 import static org.junit.Assert.*;
-import net.onrc.onos.packet.ARP;
-import net.onrc.onos.packet.Data;
-import net.onrc.onos.packet.Ethernet;
-import net.onrc.onos.packet.IPacket;
-import net.onrc.onos.packet.IPv4;
-import net.onrc.onos.packet.UDP;
+import net.onrc.onos.core.packet.ARP;
+import net.onrc.onos.core.packet.Data;
+import net.onrc.onos.core.packet.Ethernet;
+import net.onrc.onos.core.packet.IPacket;
+import net.onrc.onos.core.packet.IPv4;
+import net.onrc.onos.core.packet.UDP;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/net/onrc/onos/packet/TCPTest.java b/src/test/java/net/onrc/onos/core/packet/TCPTest.java
similarity index 94%
rename from src/test/java/net/onrc/onos/packet/TCPTest.java
rename to src/test/java/net/onrc/onos/core/packet/TCPTest.java
index 03ef8b6..4817a99 100644
--- a/src/test/java/net/onrc/onos/packet/TCPTest.java
+++ b/src/test/java/net/onrc/onos/core/packet/TCPTest.java
@@ -18,15 +18,15 @@
 /**
  * 
  */
-package net.onrc.onos.packet;
+package net.onrc.onos.core.packet;
 
 import static org.junit.Assert.assertTrue;
 
 import java.util.Arrays;
 
-import net.onrc.onos.packet.IPacket;
-import net.onrc.onos.packet.IPv4;
-import net.onrc.onos.packet.TCP;
+import net.onrc.onos.core.packet.IPacket;
+import net.onrc.onos.core.packet.IPv4;
+import net.onrc.onos.core.packet.TCP;
 
 import org.junit.Test;
 
diff --git a/src/test/java/net/onrc/onos/packet/UDPTest.java b/src/test/java/net/onrc/onos/core/packet/UDPTest.java
similarity index 90%
rename from src/test/java/net/onrc/onos/packet/UDPTest.java
rename to src/test/java/net/onrc/onos/core/packet/UDPTest.java
index c9081e8..b5eca46 100644
--- a/src/test/java/net/onrc/onos/packet/UDPTest.java
+++ b/src/test/java/net/onrc/onos/core/packet/UDPTest.java
@@ -18,16 +18,16 @@
 /**
  * 
  */
-package net.onrc.onos.packet;
+package net.onrc.onos.core.packet;
 
 import static org.junit.Assert.assertTrue;
 
 import java.util.Arrays;
 
-import net.onrc.onos.packet.Data;
-import net.onrc.onos.packet.IPacket;
-import net.onrc.onos.packet.IPv4;
-import net.onrc.onos.packet.UDP;
+import net.onrc.onos.core.packet.Data;
+import net.onrc.onos.core.packet.IPacket;
+import net.onrc.onos.core.packet.IPv4;
+import net.onrc.onos.core.packet.UDP;
 
 import org.junit.Test;
 
diff --git a/src/test/java/net/onrc/onos/registry/controller/StandaloneRegistryTest.java b/src/test/java/net/onrc/onos/core/registry/StandaloneRegistryTest.java
similarity index 97%
rename from src/test/java/net/onrc/onos/registry/controller/StandaloneRegistryTest.java
rename to src/test/java/net/onrc/onos/core/registry/StandaloneRegistryTest.java
index 7c4a1a0..5b1f59d 100644
--- a/src/test/java/net/onrc/onos/registry/controller/StandaloneRegistryTest.java
+++ b/src/test/java/net/onrc/onos/core/registry/StandaloneRegistryTest.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.registry.controller;
+package net.onrc.onos.core.registry;
 
 import static org.junit.Assert.*;
 
@@ -11,7 +11,11 @@
 import java.util.concurrent.TimeUnit;
 
 import net.floodlightcontroller.core.module.FloodlightModuleContext;
-import net.onrc.onos.registry.controller.IControllerRegistryService.ControlChangeCallback;
+import net.onrc.onos.core.registry.ControllerRegistryEntry;
+import net.onrc.onos.core.registry.IdBlock;
+import net.onrc.onos.core.registry.RegistryException;
+import net.onrc.onos.core.registry.StandaloneRegistry;
+import net.onrc.onos.core.registry.IControllerRegistryService.ControlChangeCallback;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/src/test/java/net/onrc/onos/registry/controller/ZookeeperRegistryTest.java b/src/test/java/net/onrc/onos/core/registry/ZookeeperRegistryTest.java
similarity index 96%
rename from src/test/java/net/onrc/onos/registry/controller/ZookeeperRegistryTest.java
rename to src/test/java/net/onrc/onos/core/registry/ZookeeperRegistryTest.java
index 774a9d4..06de77e 100644
--- a/src/test/java/net/onrc/onos/registry/controller/ZookeeperRegistryTest.java
+++ b/src/test/java/net/onrc/onos/core/registry/ZookeeperRegistryTest.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.registry.controller;
+package net.onrc.onos.core.registry;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -7,8 +7,13 @@
 
 import net.floodlightcontroller.core.module.FloodlightModuleContext;
 import net.floodlightcontroller.test.FloodlightTestCase;
-import net.onrc.onos.registry.controller.StandaloneRegistryTest.LoggingCallback;
-import net.onrc.onos.registry.controller.ZookeeperRegistry.SwitchLeaderListener;
+import net.onrc.onos.core.registry.ControllerRegistryEntry;
+import net.onrc.onos.core.registry.ControllerService;
+import net.onrc.onos.core.registry.IdBlock;
+import net.onrc.onos.core.registry.RegistryException;
+import net.onrc.onos.core.registry.ZookeeperRegistry;
+import net.onrc.onos.core.registry.StandaloneRegistryTest.LoggingCallback;
+import net.onrc.onos.core.registry.ZookeeperRegistry.SwitchLeaderListener;
 
 import org.apache.curator.RetryPolicy;
 import org.apache.curator.framework.CuratorFramework;
@@ -154,8 +159,8 @@
 	}
 
 	/**
-	 * Test if {@link ZookeeperRegistry#requestControl(long, net.onrc.onos.registry.controller.IControllerRegistryService.ControlChangeCallback)}
-	 * correctly take control of specific switch. Because {@link ZookeeperRegistry#requestControl(long, net.onrc.onos.registry.controller.IControllerRegistryService.ControlChangeCallback)}
+	 * Test if {@link ZookeeperRegistry#requestControl(long, net.onrc.onos.core.registry.IControllerRegistryService.ControlChangeCallback)}
+	 * correctly take control of specific switch. Because {@link ZookeeperRegistry#requestControl(long, net.onrc.onos.core.registry.IControllerRegistryService.ControlChangeCallback)}
 	 * doesn't return values, inject mock {@link LeaderLatch} object and verify latch is correctly set up.
 	 * @throws Exception
 	 */
