diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseSerializer.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseSerializer.java
index f6fa6d1..42b0313 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseSerializer.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseSerializer.java
@@ -28,17 +28,19 @@
 import org.onosproject.store.service.Versioned;
 
 import net.kuujo.copycat.cluster.internal.MemberInfo;
-import net.kuujo.copycat.protocol.rpc.AppendRequest;
-import net.kuujo.copycat.protocol.rpc.AppendResponse;
-import net.kuujo.copycat.protocol.rpc.CommitRequest;
-import net.kuujo.copycat.protocol.rpc.CommitResponse;
-import net.kuujo.copycat.protocol.rpc.PollRequest;
-import net.kuujo.copycat.protocol.rpc.PollResponse;
-import net.kuujo.copycat.protocol.rpc.QueryRequest;
-import net.kuujo.copycat.protocol.rpc.QueryResponse;
-import net.kuujo.copycat.protocol.rpc.ReplicaInfo;
-import net.kuujo.copycat.protocol.rpc.SyncRequest;
-import net.kuujo.copycat.protocol.rpc.SyncResponse;
+import net.kuujo.copycat.raft.protocol.AppendRequest;
+import net.kuujo.copycat.raft.protocol.AppendResponse;
+import net.kuujo.copycat.raft.protocol.CommitRequest;
+import net.kuujo.copycat.raft.protocol.CommitResponse;
+import net.kuujo.copycat.raft.protocol.PollRequest;
+import net.kuujo.copycat.raft.protocol.PollResponse;
+import net.kuujo.copycat.raft.protocol.QueryRequest;
+import net.kuujo.copycat.raft.protocol.QueryResponse;
+import net.kuujo.copycat.raft.protocol.ReplicaInfo;
+import net.kuujo.copycat.raft.protocol.SyncRequest;
+import net.kuujo.copycat.raft.protocol.SyncResponse;
+import net.kuujo.copycat.raft.protocol.VoteRequest;
+import net.kuujo.copycat.raft.protocol.VoteResponse;
 import net.kuujo.copycat.util.serializer.SerializerConfig;
 
 /**
@@ -52,6 +54,8 @@
             .register(AppendResponse.class)
             .register(SyncRequest.class)
             .register(SyncResponse.class)
+            .register(VoteRequest.class)
+            .register(VoteResponse.class)
             .register(PollRequest.class)
             .register(PollResponse.class)
             .register(QueryRequest.class)
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabase.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabase.java
index 4bdfcb3..c4f95bd 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabase.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabase.java
@@ -16,9 +16,9 @@
 
 package org.onosproject.store.consistent.impl;
 
-import net.kuujo.copycat.resource.internal.ResourceContext;
 import net.kuujo.copycat.state.StateMachine;
 import net.kuujo.copycat.resource.internal.AbstractResource;
+import net.kuujo.copycat.resource.internal.ResourceManager;
 import net.kuujo.copycat.state.internal.DefaultStateMachine;
 import net.kuujo.copycat.util.concurrent.Futures;
 
@@ -39,7 +39,7 @@
     private DatabaseProxy<String, byte[]> proxy;
 
     @SuppressWarnings({ "unchecked", "rawtypes" })
-    public DefaultDatabase(ResourceContext context) {
+    public DefaultDatabase(ResourceManager context) {
         super(context);
         this.stateMachine = new DefaultStateMachine(context, DatabaseState.class, DefaultDatabaseState.class);
     }
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/PartitionedDatabase.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/PartitionedDatabase.java
index bbbd9b6..903e61e 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/PartitionedDatabase.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/PartitionedDatabase.java
@@ -37,6 +37,7 @@
 
 import net.kuujo.copycat.Task;
 import net.kuujo.copycat.cluster.Cluster;
+import net.kuujo.copycat.resource.ResourceState;
 import static com.google.common.base.Preconditions.checkState;
 
 /**
@@ -339,6 +340,11 @@
         throw new UnsupportedOperationException();
     }
 
+    @Override
+    public ResourceState state() {
+        throw new UnsupportedOperationException();
+    }
+
     private Map<Database, Transaction> createSubTransactions(
             Transaction transaction) {
         Map<Database, List<DatabaseUpdate>> perPartitionUpdates = Maps.newHashMap();
diff --git a/pom.xml b/pom.xml
index 7645fa6..5374cd7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,7 +72,7 @@
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <netty4.version>4.0.23.Final</netty4.version>
-        <copycat.version>0.5.0.onos-SNAPSHOT</copycat.version>
+        <copycat.version>0.5.0.onos12-SNAPSHOT</copycat.version>
         <openflowj.version>0.3.9.oe</openflowj.version>
         <karaf.version>3.0.3</karaf.version>
         <jersey.version>1.19</jersey.version>
