diff --git a/include/opendht/value.h b/include/opendht/value.h
index 9df6edebe3e6ff2131e6d15cabb8cda62da5d9c1..4be12f1790b4b919647da5b9cc99dffb9681f1a7 100644
--- a/include/opendht/value.h
+++ b/include/opendht/value.h
@@ -221,6 +221,12 @@ struct Value
         return unpackMsg<T>(v.data);
     }
 
+    template <typename T>
+    T unpack()
+    {
+        return unpack<T>(*this);
+    }
+
     bool isEncrypted() const {
         return not cypher.empty();
     }
@@ -261,6 +267,9 @@ struct Value
     Value(const Type& vs)
      : Value(pack<Type>(vs)) {}
 
+    /**
+     * Unpack a serialized value
+     */
     Value(const msgpack::object& o) {
         msgpack_unpack(o);
     }