--- a/doc/html/using_pyke.html
+++ b/doc/html/using_pyke.html
@@ -257,7 +257,7 @@
 >>> my_engine.prove_1('bc_example', 'father_son', ('thomas', 'bogus'), 1)
 Traceback (most recent call last):
     ...
-CanNotProve: Can not prove bc_example.father_son(thomas, bogus, $ans_0)
+pyke.knowledge_engine.CanNotProve: Can not prove bc_example.father_son(thomas, bogus, $ans_0)
 </pre>
 </blockquote>
 <dl class="docutils">
@@ -270,7 +270,7 @@
 &gt;&gt;&gt; from __future__ import with_statement
 &gt;&gt;&gt; with my_engine.prove_n('bc_example', 'father_son', ('thomas',), 2) as gen:
 ...     for ans in gen:
-...         print ans
+...         print(ans)
 (('bruce', ()), None)
 (('david', ('grand',)), None)
 </pre>
@@ -283,17 +283,10 @@
 specified, if any, in the <a class="reference external" href="pyke_syntax/krb_syntax/bc_rule.html#taking-clause">taking clause</a> of the <a class="reference external" href="pyke_syntax/krb_syntax/bc_rule.html">rule</a> proving the top-level
 goal.</p>
 <p>You may call the plan function any number of times.  You may even pickle
-the plan for later use.  But the plans are constructed out of
-<a class="reference external" href="http://docs.python.org/library/functools.html">functools.partial</a> functions, so you need to register this with <a class="reference external" href="http://docs.python.org/library/copy_reg.html">copy_reg</a>
-before pickling the plan:</p>
-<blockquote>
-<pre class="doctest-block">
-&gt;&gt;&gt; import copy_reg
-&gt;&gt;&gt; import functools
-&gt;&gt;&gt; copy_reg.pickle(functools.partial,
-...                 lambda p: (functools.partial, (p.func,) + p.args))
-</pre>
-</blockquote>
+the plan for later use.  The plans are constructed out of
+<a class="reference external" href="http://docs.python.org/library/functools.html">functools.partial</a> functions, which had to be registered with <a class="reference external" href="http://docs.python.org/3.0/library/copyreg.html">copyreg</a>
+before you could pickle them in older Python releases.  But in Python3 it is
+no longer necessary to register functools.partial to be able to pickle them.</p>
 <p>No special code is required to unpickle a plan.  Just unpickle and call it.
 (Unpickling the plan only imports one small Pyke module to be able to run
 the plan).</p>
@@ -347,15 +340,11 @@
   File &quot;&lt;doctest using_pyke.txt[37]&gt;&quot;, line 2, in &lt;module&gt;
     my_engine.prove_1('error_test', 'goal', (), 0)
   File &quot;...knowledge_engine.py&quot;, line 288, in prove_1
-    return iter(it).next()
+    return next(iter(it))
   File &quot;...knowledge_engine.py&quot;, line 272, in gen
     for plan in it:
-  File &quot;...rule_base.py&quot;, line 46, in next
-    return self.iterator.next()
-  File &quot;...knowledge_engine.py&quot;, line 40, in from_iterable
-    for x in iterable: yield x
-  File &quot;...knowledge_engine.py&quot;, line 40, in from_iterable
-    for x in iterable: yield x
+  File &quot;...rule_base.py&quot;, line 46, in __next__
+    return next(self.iterator)
   File &quot;...error_test.krb&quot;, line 26, in rule1
     goal2()
   File &quot;...error_test.krb&quot;, line 31, in rule2
@@ -497,7 +486,7 @@
 
   <div id="last-modified">
     Page last modified
-    Mon, Oct 19 2009.
+    Tue, Oct 20 2009.
 
   </div>