diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet
index 8379697..53a2e3c 100644
--- a/books/bookvol10.2.pamphlet
+++ b/books/bookvol10.2.pamphlet
@@ -44454,7 +44454,229 @@ digraph pic {
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \pagehead{AlgebraicallyClosedField}{ACF}
 \pagepic{ps/v102algebraicallyclosedfield.ps}{ACF}{0.75}
+<<AlgebraicallyClosedField.input>>=
+)set break resume
+)sys rm -f AlgebraicallyClosedField.output
+)spool AlgebraicallyClosedField.output
+)set message test on
+)set message auto off
+)clear all
+
+--S 1 of 14
+pi:Polynomial(Integer):=-3*x^3+2*x+13
+--R 
+--R
+--R            3
+--R   (1)  - 3x  + 2x + 13
+--R                                                     Type: Polynomial Integer
+--E 1
 
+--S 2 of 14
+rootOf(pi)
+--R 
+--R
+--R   (2)  x
+--R                                                        Type: AlgebraicNumber
+--E 2
+
+--S 3 of 14
+rootsOf(pi)
+--R 
+--R
+--R   (3)  [%x0,%x1,- %x1 - %x0]
+--R                                                   Type: List AlgebraicNumber
+--E 3
+
+--S 4 of 14
+zeroOf(pi)
+--R 
+--R
+--R   (4)  x
+--R                                                        Type: AlgebraicNumber
+--E 4
+
+--S 5 of 14
+zerosOf(pi)
+--R 
+--R
+--R                +-------------+         +-------------+
+--R                |       2               |       2
+--R             - \|- 27%x3  + 24  - 3%x3 \|- 27%x3  + 24  - 3%x3
+--R   (5)  [%x3,-------------------------,-----------------------]
+--R                         6                        6
+--R                                                   Type: List AlgebraicNumber
+--E 5
+
+--S 6 of 14
+sup:SparseUnivariatePolynomial(Integer):=-3*x^3+2*x+13
+--R 
+--R
+--R            3
+--R   (6)  - 3?  + 2? + 13
+--R                                     Type: SparseUnivariatePolynomial Integer
+--E 6
+
+--S 7 of 14
+rootOf(sup)
+--R 
+--R
+--R   (7)  %B
+--R                                                        Type: AlgebraicNumber
+--E 7
+
+--S 8 of 14
+rootOf(sup,x)
+--R 
+--R
+--R   (8)  x
+--R                                                        Type: AlgebraicNumber
+--E 8
+
+--S 9 of 14
+rootsOf(sup)
+--R 
+--R
+--R   (9)  [%%C0,%%C1,- %%C1 - %%C0]
+--R                                                   Type: List AlgebraicNumber
+--E 9
+
+--S 10 of 14
+rootsOf(sup,x)
+--R 
+--R
+--R   (10)  [%x6,%x7,- %x7 - %x6]
+--R                                                   Type: List AlgebraicNumber
+--E 10
+
+--S 11 of 14
+zeroOf(sup)
+--R 
+--R
+--R   (11)  %D
+--R                                                        Type: AlgebraicNumber
+--E 11
+
+--S 12 of 14
+zeroOf(sup,x)
+--R 
+--R
+--R   (12)  x
+--R                                                        Type: AlgebraicNumber
+--E 12
+
+--S 13 of 14
+zerosOf(sup)
+--R 
+--R
+--R                  +--------------+          +--------------+
+--R                  |        2                |        2
+--R               - \|- 27%%E0  + 24  - 3%%E0 \|- 27%%E0  + 24  - 3%%E0
+--R   (13)  [%%E0,---------------------------,-------------------------]
+--R                            6                          6
+--R                                                   Type: List AlgebraicNumber
+--E 13
+
+--S 14 of 14
+zerosOf(sup,x)
+--R 
+--R
+--R                 +-------------+         +-------------+
+--R                 |       2               |       2
+--R              - \|- 27%x9  + 24  - 3%x9 \|- 27%x9  + 24  - 3%x9
+--R   (14)  [%x9,-------------------------,-----------------------]
+--R                          6                        6
+--R                                                   Type: List AlgebraicNumber
+--E 14
+
+)spool
+)lisp (bye)
+@
+<<AlgebraicallyClosedField.help>>=
+====================================================================
+AlgebraicallyClosedField examples
+====================================================================
+
+Given the polynomial:
+
+pi:Polynomial(Integer):=-3*x^3+2*x+13
+               3
+           - 3x  + 2x + 13
+
+
+rootOf(pi)
+           x
+
+
+rootsOf(pi)
+           [%x0,%x1,- %x1 - %x0]
+
+
+zeroOf(pi)
+           x
+
+
+zerosOf(pi)
+                   +-------------+         +-------------+
+                   |       2               |       2
+                - \|- 27%x3  + 24  - 3%x3 \|- 27%x3  + 24  - 3%x3
+           [%x3,-------------------------,-----------------------]
+                            6                        6
+
+
+These functions can also be applied to Sparse Univariate Polynomials:
+
+sup:SparseUnivariatePolynomial(Integer):=-3*x^3+2*x+13
+               3
+           - 3?  + 2? + 13
+
+
+rootOf(sup)
+           %B
+
+
+rootOf(sup,x)
+           x
+
+
+rootsOf(sup)
+           [%%C0,%%C1,- %%C1 - %%C0]
+
+
+rootsOf(sup,x)
+           [%x6,%x7,- %x7 - %x6]
+
+
+zeroOf(sup)
+           %D
+
+
+zeroOf(sup,x)
+        x
+
+
+zerosOf(sup)
+                 +--------------+          +--------------+
+                 |        2                |        2
+              - \|- 27%%E0  + 24  - 3%%E0 \|- 27%%E0  + 24  - 3%%E0
+        [%%E0,---------------------------,-------------------------]
+                           6                          6
+
+
+zerosOf(sup,x)
+                +-------------+         +-------------+
+                |       2               |       2
+             - \|- 27%x9  + 24  - 3%x9 \|- 27%x9  + 24  - 3%x9
+        [%x9,-------------------------,-----------------------]
+                         6                        6
+
+
+
+ 
+
+See Also:
+o )show AlgebraicallyClosedField
+
+@
 {\bf See:}\\
 \pageto{AlgebraicallyClosedFunctionSpace}{ACFS}
 \pagefrom{Field}{FIELD}
@@ -44640,39 +44862,66 @@ AlgebraicallyClosedField(): Category == Join(Field,RadicalCategory) with
     rootOf: Polynomial $ -> $
       ++ rootOf(p) returns y such that \spad{p(y) = 0}.
       ++ Error: if p has more than one variable y.
+      ++
+      ++X a:Polynomial(Integer):=-3*x^3+2*x+13
+      ++X rootOf(a)
     rootOf: SparseUnivariatePolynomial $ -> $
       ++ rootOf(p) returns y such that \spad{p(y) = 0}.
+      ++
+      ++X a:SparseUnivariatePolynomial(Integer):=-3*x^3+2*x+13
+      ++X rootOf(a)
     rootOf: (SparseUnivariatePolynomial $, Symbol) -> $
       ++ rootOf(p, y) returns y such that \spad{p(y) = 0}.
       ++ The object returned displays as \spad{'y}.
+      ++
+      ++X a:SparseUnivariatePolynomial(Integer):=-3*x^3+2*x+13
+      ++X rootOf(a,x)
     rootsOf: Polynomial $ -> List $
       ++ rootsOf(p) returns \spad{[y1,...,yn]} such that \spad{p(yi) = 0}.
       ++ Note: the returned symbols y1,...,yn are bound in the
       ++ interpreter to respective root values.
       ++ Error: if p has more than one variable y.
+      ++
+      ++X a:Polynomial(Integer):=-3*x^3+2*x+13
+      ++X rootsOf(a)
     rootsOf: SparseUnivariatePolynomial $ -> List $
       ++ rootsOf(p) returns \spad{[y1,...,yn]} such that \spad{p(yi) = 0}.
       ++ Note: the returned symbols y1,...,yn are bound in the interpreter
       ++ to respective root values.
+      ++
+      ++X a:SparseUnivariatePolynomial(Integer):=-3*x^3+2*x+13
+      ++X rootsOf(a)
     rootsOf: (SparseUnivariatePolynomial $, Symbol) -> List $
       ++ rootsOf(p, y) returns \spad{[y1,...,yn]} such that \spad{p(yi) = 0};
       ++ The returned roots display as \spad{'y1},...,\spad{'yn}.
       ++ Note: the returned symbols y1,...,yn are bound in the interpreter
       ++ to respective root values.
+      ++
+      ++X a:SparseUnivariatePolynomial(Integer):=-3*x^3+2*x+13
+      ++X rootsOf(a,x)
     zeroOf: Polynomial $ -> $
       ++ zeroOf(p) returns y such that \spad{p(y) = 0}.
       ++ If possible, y is expressed in terms of radicals.
       ++ Otherwise it is an implicit algebraic quantity.
       ++ Error: if p has more than one variable y.
+      ++
+      ++X a:Polynomial(Integer):=-3*x^2+2*x-13
+      ++X zeroOf(a)
     zeroOf: SparseUnivariatePolynomial $ -> $
       ++ zeroOf(p) returns y such that \spad{p(y) = 0};
       ++ if possible, y is expressed in terms of radicals.
       ++ Otherwise it is an implicit algebraic quantity.
+      ++
+      ++X a:SparseUnivariatePolynomial(Integer):=-3*x^3+2*x+13
+      ++X zeroOf(a)
     zeroOf: (SparseUnivariatePolynomial $, Symbol) -> $
       ++ zeroOf(p, y) returns y such that \spad{p(y) = 0};
       ++ if possible, y is expressed in terms of radicals.
       ++ Otherwise it is an implicit algebraic quantity which
       ++ displays as \spad{'y}.
+      ++
+      ++X a:SparseUnivariatePolynomial(Integer):=-3*x^3+2*x+13
+      ++X zeroOf(a,x)
     zerosOf: Polynomial $ -> List $
       ++ zerosOf(p) returns \spad{[y1,...,yn]} such that \spad{p(yi) = 0}.
       ++ The yi's are expressed in radicals if possible.
@@ -44680,12 +44929,18 @@ AlgebraicallyClosedField(): Category == Join(Field,RadicalCategory) with
       ++ The returned symbols y1,...,yn are bound in the interpreter
       ++ to respective root values.
       ++ Error: if p has more than one variable y.
+      ++
+      ++X a:Polynomial(Integer):=-3*x^2+2*x-13
+      ++X zerosOf(a)
     zerosOf: SparseUnivariatePolynomial $ -> List $
       ++ zerosOf(p) returns \spad{[y1,...,yn]} such that \spad{p(yi) = 0}.
       ++ The yi's are expressed in radicals if possible, and otherwise
       ++ as implicit algebraic quantities.
       ++ The returned symbols y1,...,yn are bound in the interpreter
       ++ to respective root values.
+      ++
+      ++X a:SparseUnivariatePolynomial(Integer):=-3*x^3+2*x+13
+      ++X zerosOf(a)
     zerosOf: (SparseUnivariatePolynomial $, Symbol) -> List $
       ++ zerosOf(p, y) returns \spad{[y1,...,yn]} such that \spad{p(yi) = 0}.
       ++ The yi's are expressed in radicals if possible, and otherwise
@@ -44693,6 +44948,9 @@ AlgebraicallyClosedField(): Category == Join(Field,RadicalCategory) with
       ++ which display as \spad{'yi}.
       ++ The returned symbols y1,...,yn are bound in the interpreter
       ++ to respective root values.
+      ++
+      ++X a:SparseUnivariatePolynomial(Integer):=-3*x^3+2*x+13
+      ++X zerosOf(a,x)
  add
     SUP ==> SparseUnivariatePolynomial $
 
diff --git a/changelog b/changelog
index 7ad8d20..a75e6aa 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+20091031 tpd src/axiom-website/patches.html 20091031.02.tpd.patch
+20091031 tpd src/algebra/Makefile add AlgebraicallyClosedField.help
+20091031 tpd books/bookvol10.2 AlgebraicallyClosedField input, help, examples
 20091031 tpd src/axiom-website/patches.html 20091031.01.tpd.patch
 20091031 tpd src/algebra/Makefile move help.help build to algebra
 20091031 tpd src/interp/Makefile move help.help build to algebra
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index 17f90b2..342297f 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -16444,6 +16444,7 @@ This keeps the regression test list in the algebra Makefile.
 HELPFILE=${HELP}/help.help
 
 SPADHELP=\
+ ${HELP}/AlgebraicallyClosedField.help \
  ${HELP}/Any.help \
  ${HELP}/ApplicationProgramInterface.help \
  ${HELP}/ArrayStack.help \
@@ -16589,7 +16590,9 @@ is put into a int/Makefile.algebra and then executed by make.
 <<algebra.regress>>=
 TESTSYS=  ${OBJ}/${SYS}/bin/interpsys
 
-REGRESS= Any.regress \
+REGRESS= \
+ AlgebraicallyClosedField.regress \
+ Any.regress \
  ApplicationProgramInterface.regress \
  ArrayStack.regress \
  AssociationList.regress \
@@ -16733,8 +16736,20 @@ all: ${REGRESS}
 	@echo algebra test cases complete.
 @
 <<spadhelp>>=
+${HELP}/AlgebraicallyClosedField.help: ${BOOKS}/bookvol10.2.pamphlet
+	@echo 7000 create AlgebraicallyClosedField.help from \
+            ${BOOKS}/bookvol10.2.pamphlet
+	@${TANGLE} -R"AlgebraicallyClosedField.help" \
+            ${BOOKS}/bookvol10.2.pamphlet \
+            >${HELP}/AlgebraicallyClosedField.help
+	@cp ${HELP}/AlgebraicallyClosedField.help ${HELP}/ACF.help
+	@${TANGLE} -R"AlgebraicallyClosedField.input" \
+            ${BOOKS}/bookvol10.2.pamphlet \
+            >${INPUT}/AlgebraicallyClosedField.input
+	@echo "AlgebraicallyClosedField (ACF)" >>${HELPFILE}
+
 ${HELP}/Any.help: ${BOOKS}/bookvol10.3.pamphlet
-	@echo 7000 create Any.help from ${BOOKS}/bookvol10.3.pamphlet
+	@echo 7002 create Any.help from ${BOOKS}/bookvol10.3.pamphlet
 	@${TANGLE} -R"Any.help" ${BOOKS}/bookvol10.3.pamphlet >${HELP}/Any.help
 	@cp ${HELP}/Any.help ${HELP}/ANY.help
 	@${TANGLE} -R"Any.input" ${BOOKS}/bookvol10.3.pamphlet \
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 19d0c3d..9b48286 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2209,5 +2209,7 @@ books/bookvol10.3 partial fix OrderedFreeMonoid<br/>
 books/bookvol10.3 more PartialFraction documentation<br/>
 <a href="patches/20091031.01.tpd.patch">20091031.01.tpd.patch</a>
 src/interp,algebra/Makefiles move help.help built to algebra<br/>
+<a href="patches/20091031.02.tpd.patch">20091031.02.tpd.patch</a>
+books/bookvol10.2 AlgebraicallyClosedField input, help, examples<br/>
  </body>
 </html>
