diff --git a/src/interest.hpp b/src/interest.hpp
index 2783aa9..5aa541c 100644
--- a/src/interest.hpp
+++ b/src/interest.hpp
@@ -82,6 +82,9 @@
    * @param scope
    * @param interestLifetime
    * @param nonce
+   *
+   * @deprecated Interest().setX(...).setY(...)
+   *             or use the overload taking Selectors
    */
   Interest(const Name& name,
            int minSuffixComponents, int maxSuffixComponents,
@@ -329,6 +332,22 @@
 
   //
 
+  const KeyLocator&
+  getPublisherPublicKeyLocator() const
+  {
+    return m_selectors.getPublisherPublicKeyLocator();
+  }
+
+  Interest&
+  setPublisherPublicKeyLocator(const KeyLocator& keyLocator)
+  {
+    m_selectors.setPublisherPublicKeyLocator(keyLocator);
+    m_wire.reset();
+    return *this;
+  }
+
+  //
+
   const Exclude&
   getExclude() const
   {
