diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index 51de3c3..79517af 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -4063,7 +4063,7 @@ AnyFunctions1(S:Type): with
 )set message test on
 )set message auto off
 )clear all
---S 1 of 5
+--S 1 of 6
 getDomains 'Collection
 --R
 --R   (1)
@@ -4078,7 +4078,7 @@ getDomains 'Collection
 --R                                                            Type: Set(Symbol)
 --E 1
 
---S 2 of 5
+--S 2 of 6
 difference(getDomains 'IndexedAggregate,getDomains 'Collection)
 --R
 --R   (2)
@@ -4088,7 +4088,7 @@ difference(getDomains 'IndexedAggregate,getDomains 'Collection)
 --R                                                            Type: Set(Symbol)
 --E 2
 
---S 3 of 5
+--S 3 of 6
 credits()
 --R 
 --RAn alphabetical listing of contributors to AXIOM:
@@ -4186,13 +4186,13 @@ credits()
 The summary command simply types out the contents of the file
 \$AXIOM/lib/summary so no output is captured in the spool file.
 \begin{chunk}{ApplicationProgramInterface.input}
---S 4 of 5
+--S 4 of 6
 summary()
 --R 
 --R                                                                   Type: Void
 --E 4
 
---S 5 of 5
+--S 5 of 6
 )show API
 --R 
 --R ApplicationProgramInterface  is a package constructor
@@ -4206,6 +4206,14 @@ summary()
 --R
 --E 5
 
+--S 1 of 5
+getAncestors 'IndexedAggregate
+--R
+--R   (3)
+--R   {Aggregate, BasicType, CoercibleTo, Eltable, EltableAggregate, Evalable,
+--R    HomogeneousAggregate, InnerEvalable, SetCategory, Type}
+--R                                                            Type: Set(Symbol)
+--E 6
 )spool
 )lisp (bye)
 \end{chunk}
@@ -4247,6 +4255,15 @@ to the development of Axiom. This is equivalent to the )credits command.
 
 The summary function prints a short list of useful console commands.
 
+The getAncestors function takes the name of a domain or category
+and returns a list of categories from which it inherits.
+
+getAncestors 'IndexedAggregate
+
+   {Aggregate, BasicType, CoercibleTo, Eltable, EltableAggregate, Evalable,
+    HomogeneousAggregate, InnerEvalable, SetCategory, Type}
+                                                            Type: Set(Symbol)
+
 \end{chunk}
 \pagehead{ApplicationProgramInterface}{API}
 \pagepic{ps/v104applicationprograminterface.ps}{API}{1.00}
@@ -4259,7 +4276,7 @@ The summary function prints a short list of useful console commands.
 )abbrev package API ApplicationProgramInterface
 ++ Author: Timothy Daly, Martin Rubey
 ++ Date Created: 3 March 2009
-++ Date Last Updated: 3 March 2009
+++ Date Last Updated: 24 March 2012
 ++ Description: 
 ++ This package contains useful functions that expose Axiom system internals
 
@@ -4270,6 +4287,11 @@ ApplicationProgramInterface(): Exports == Implementation where
       ++ that have that category
       ++
       ++X getDomains 'IndexedAggregate
+    getAncestors : Symbol -> Set Symbol
+      ++ The getAncestor(s) takes a category and returns the list of domains
+      ++ that have that category as ancestors
+      ++
+      ++X getAncestors 'IndexedAggregate
     credits : () -> Void
       ++ credits() prints a list of people who contributed to Axiom
       ++
@@ -4283,6 +4305,10 @@ ApplicationProgramInterface(): Exports == Implementation where
       set [symbol car first destruct a _
         for a in (destruct domainsOf(cat,NIL$Lisp)$Lisp)::List(SExpression)]
 
+    getAncestors(cat:Symbol):Set(Symbol) == 
+      set [symbol car first destruct a _
+        for a in (destruct ancestorsOf(cat,NIL$Lisp)$Lisp)::List(SExpression)]
+
     credits() == ( credits()$Lisp ; void() )
 
     summary() == ( summary()$Lisp ; void() )
diff --git a/changelog b/changelog
index 67d47a2..2c8bb2e 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20120324 tpd src/axiom-website/patches.html 20120324.02.tpd.patch
+20120324 tpd books/bookvol10.4 add getAncestors function to API domain
 20120324 tpd src/axiom-website/patches.html 20120324.01.tpd.patch
 20120324 tpd src/algebra/Makefile fix typo PolynomialPackageFoCurve
 20120324 tpd books/bookvol10.4 add PadeApproximants test
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 644b752..de946ea 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -3846,5 +3846,7 @@ books/bookvol10.4, books/bookvol10.3 fix bug 7217<br/>
 src/input/testpackage.input added<br/>
 <a href="patches/20120324.01.tpd.patch">20120324.01.tpd.patch</a>
 books/bookvol10.4 add PadeApproximants test<br/>
+<a href="patches/20120324.02.tpd.patch">20120324.02.tpd.patch</a>
+books/bookvol10.4 add getAncestors function to API domain<br/>
  </body>
 </html>
