diff --git a/com/intel/jndn/management/NFD.html b/com/intel/jndn/management/NFD.html
index d6fe5a4..1e99a2f 100644
--- a/com/intel/jndn/management/NFD.html
+++ b/com/intel/jndn/management/NFD.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>NFD (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>NFD (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="NFD (jndn-management 0.9.8 API)";
+        parent.document.title="NFD (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
@@ -38,7 +38,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management"><span class="strong">Prev Class</span></a></li>
-<li>Next Class</li>
+<li><a href="../../../../com/intel/jndn/management/Strategies.html" title="class in com.intel.jndn.management"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?com/intel/jndn/management/NFD.html" target="_top">Frames</a></li>
@@ -238,6 +238,14 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#getStrategyList(net.named_data.jndn.Face)">getStrategyList</a></strong>(net.named_data.jndn.Face&nbsp;forwarder)</code>
+<div class="block">Retrieve the list of strategy choice entries from the NFD; calls
+ /localhost/nfd/rib/list which requires a local Face (all non-local packets
+ are dropped).</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#ping(net.named_data.jndn.Face, net.named_data.jndn.Name)">ping</a></strong>(net.named_data.jndn.Face&nbsp;face,
     net.named_data.jndn.Name&nbsp;name)</code>
@@ -245,7 +253,7 @@
  responding to requests.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#pingLocal(net.named_data.jndn.Face)">pingLocal</a></strong>(net.named_data.jndn.Face&nbsp;face)</code>
 <div class="block">Ping a forwarder on an existing face to verify that the forwarder is
@@ -254,7 +262,7 @@
  same machine as the NDN forwarding daemon.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#register(net.named_data.jndn.Face, net.named_data.jndn.ControlParameters)">register</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
         net.named_data.jndn.ControlParameters&nbsp;controlParameters)</code>
@@ -265,7 +273,7 @@
  for protocol documentation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#register(net.named_data.jndn.Face, int, net.named_data.jndn.Name, int)">register</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
         int&nbsp;faceId,
@@ -275,7 +283,7 @@
  is provided a faceId.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#register(net.named_data.jndn.Face, java.lang.String, net.named_data.jndn.Name, int)">register</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri,
@@ -285,7 +293,7 @@
  forwarder to the given URI/route pair.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static net.named_data.jndn.Data</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#retrieveDataSet(net.named_data.jndn.Face, net.named_data.jndn.Name)">retrieveDataSet</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
                net.named_data.jndn.Name&nbsp;datasetName)</code>
@@ -294,7 +302,7 @@
  <a href="http://redmine.named-data.net/projects/nfd/wiki/StatusDataset">http://redmine.named-data.net/projects/nfd/wiki/StatusDataset</a></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../com/intel/jndn/management/types/ControlResponse.html" title="class in com.intel.jndn.management.types">ControlResponse</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#sendCommand(net.named_data.jndn.Face, net.named_data.jndn.Interest)">sendCommand</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
            net.named_data.jndn.Interest&nbsp;interest)</code>
@@ -303,7 +311,7 @@
  from the forwarder.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)">setStrategy</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
            net.named_data.jndn.Name&nbsp;prefix,
@@ -315,7 +323,7 @@
  for protocol documentation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unregister(net.named_data.jndn.Face, net.named_data.jndn.ControlParameters)">unregister</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
           net.named_data.jndn.ControlParameters&nbsp;controlParameters)</code>
@@ -326,7 +334,7 @@
  for protocol documentation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unregister(net.named_data.jndn.Face, net.named_data.jndn.Name)">unregister</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
           net.named_data.jndn.Name&nbsp;route)</code>
@@ -337,7 +345,7 @@
  for protocol documentation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unregister(net.named_data.jndn.Face, net.named_data.jndn.Name, int)">unregister</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
           net.named_data.jndn.Name&nbsp;route,
@@ -349,7 +357,7 @@
  for protocol documentation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unregister(net.named_data.jndn.Face, net.named_data.jndn.Name, java.lang.String)">unregister</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
           net.named_data.jndn.Name&nbsp;route,
@@ -361,6 +369,15 @@
  for protocol documentation.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unsetStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name)">unsetStrategy</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
+             net.named_data.jndn.Name&nbsp;prefix)</code>
+<div class="block">Set a strategy on the forwarder; see
+ <a href="../../../../com/intel/jndn/management/NFD.html#setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)"><code>setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)</code></a>
+ for more information.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -530,6 +547,24 @@
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
 </li>
 </ul>
+<a name="getStrategyList(net.named_data.jndn.Face)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getStrategyList</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</a>&gt;&nbsp;getStrategyList(net.named_data.jndn.Face&nbsp;forwarder)
+                                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Retrieve the list of strategy choice entries from the NFD; calls
+ /localhost/nfd/rib/list which requires a local Face (all non-local packets
+ are dropped).</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd>
+<dt><span class="strong">Returns:</span></dt><dd>a list of strategy choice entries, i.e. routes, see
+ http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
+</li>
+</ul>
 <a name="getKeyLocator(net.named_data.jndn.Face)">
 <!--   -->
 </a>
@@ -794,9 +829,29 @@
  for protocol documentation. Ensure the forwarding face is on the local
  machine (management requests are to /localhost/...) and that command
  signing has been set up (e.g. forwarder.setCommandSigningInfo()).</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd><dd><code>prefix</code> - </dd><dd><code>strategy</code> - </dd>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd><dd><code>prefix</code> - the <code>Name</code> prefix</dd><dd><code>strategy</code> - the <code>Name</code> of the strategy to set, e.g.
+ /localhost/nfd/strategy/broadcast</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if the command fails</dd></dl>
+</li>
+</ul>
+<a name="unsetStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unsetStrategy</h4>
+<pre>public static&nbsp;void&nbsp;unsetStrategy(net.named_data.jndn.Face&nbsp;forwarder,
+                 net.named_data.jndn.Name&nbsp;prefix)
+                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Set a strategy on the forwarder; see
+ <a href="../../../../com/intel/jndn/management/NFD.html#setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)"><code>setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)</code></a>
+ for more information. Ensure the forwarding face is on the local machine
+ (management requests are to /localhost/...) and that command signing has
+ been set up (e.g. forwarder.setCommandSigningInfo()).</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost <code>Face</code></dd><dd><code>prefix</code> - the <code>Name</code> prefix</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if the command fails</dd></dl>
 </li>
 </ul>
 <a name="retrieveDataSet(net.named_data.jndn.Face, net.named_data.jndn.Name)">
@@ -873,7 +928,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management"><span class="strong">Prev Class</span></a></li>
-<li>Next Class</li>
+<li><a href="../../../../com/intel/jndn/management/Strategies.html" title="class in com.intel.jndn.management"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?com/intel/jndn/management/NFD.html" target="_top">Frames</a></li>
