diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/DatabaseStateMachine.java b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/DatabaseStateMachine.java
index cbca729..663e9e4 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/DatabaseStateMachine.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/DatabaseStateMachine.java
@@ -12,6 +12,7 @@
 import org.onlab.onos.store.serializers.KryoSerializer;
 import org.onlab.onos.store.service.ReadRequest;
 import org.onlab.onos.store.service.ReadResult;
+import org.onlab.onos.store.service.VersionedValue;
 import org.onlab.onos.store.service.WriteRequest;
 import org.onlab.onos.store.service.WriteResult;
 import org.onlab.util.KryoNamespace;
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/NettyProtocol.java b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/NettyProtocol.java
index 9855ec6..9a2259a 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/NettyProtocol.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/NettyProtocol.java
@@ -33,6 +33,7 @@
 import org.onlab.onos.store.serializers.KryoSerializer;
 import org.onlab.onos.store.service.ReadRequest;
 import org.onlab.onos.store.service.ReadResult;
+import org.onlab.onos.store.service.VersionedValue;
 import org.onlab.onos.store.service.WriteRequest;
 import org.onlab.onos.store.service.WriteResult;
 import org.onlab.util.KryoNamespace;
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/VersionedValue.java b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/VersionedValue.java
deleted file mode 100644
index 31bdcc2..0000000
--- a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/VersionedValue.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.onlab.onos.store.service.impl;
-
-import java.util.Arrays;
-
-/**
- * Wrapper object that holds the object (as byte array) and its version.
- */
-public class VersionedValue {
-
-    private final byte[] value;
-    private final long version;
-
-    /**
-     * Creates a new instance with the specified value and version.
-     * @param value
-     * @param version
-     */
-    public VersionedValue(byte[] value, long version) {
-        this.value = value;
-        this.version = version;
-    }
-
-    /**
-     * Returns the value.
-     * @return value.
-     */
-    public byte[] value() {
-        return value;
-    }
-
-    /**
-     * Returns the version.
-     * @return version.
-     */
-    public long version() {
-        return version;
-    }
-
-    @Override
-    public String toString() {
-        return "VersionedValue [value=" + Arrays.toString(value) + ", version="
-                + version + "]";
-    }
-}
