diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index 8dd5c33..defc362 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -130793,46 +130793,57 @@ o )show OutputPackage
 ++ OutPackage allows pretty-printing from programs.
 
 OutputPackage: with
-        output: String -> Void
-            ++ output(s) displays the string s on the ``algebra output''
-            ++ stream, as defined by \spadsyscom{set output algebra}.
-        output: OutputForm -> Void
-            ++ output(x) displays the output form x on the
-            ++ ``algebra output'' stream, as defined by
-            ++ \spadsyscom{set output algebra}.
-        output: (String, OutputForm) -> Void
-            ++ output(s,x) displays the string s followed by the form x
-            ++ on the ``algebra output'' stream, as defined by
-            ++ \spadsyscom{set output algebra}.
-        outputList: (List Any) -> Void
-            ++ outputList(l) displays the concatenated components of the
-            ++ list l on the ``algebra output'' stream, as defined by
-            ++ \spadsyscom{set output algebra}; quotes are stripped
-            ++ from strings.
 
-    == add
-        --ExpressionPackage()
-        E      ==> OutputForm
-        putout ==> mathprint$Lisp
-
-        s: String
-        e: OutputForm
-        l: List Any
-
-        output e ==
-            mathprint(e)$Lisp
-            void()
-        output s ==
-            output(s:E)
-        output(s,e) ==
-            output blankSeparate [s:E, e]
-        outputList(l) ==                                -- MGR
-          output hconcat
-            [if retractable?(x)$AnyFunctions1(String) then
-                message(retract(x)$AnyFunctions1(String))$OutputForm
-              else
-                x::OutputForm
-             for x in l]
+    output: String -> Void
+      ++ output(s) displays the string s on the ``algebra output''
+      ++ stream, as defined by \spadsyscom{set output algebra}.
+
+    output: OutputForm -> Void
+      ++ output(x) displays the output form x on the
+      ++ ``algebra output'' stream, as defined by
+      ++ \spadsyscom{set output algebra}.
+
+    output: (String, OutputForm) -> Void
+      ++ output(s,x) displays the string s followed by the form x
+      ++ on the ``algebra output'' stream, as defined by
+      ++ \spadsyscom{set output algebra}.
+
+    outputList: (List Any) -> Void
+      ++ outputList(l) displays the concatenated components of the
+      ++ list l on the ``algebra output'' stream, as defined by
+      ++ \spadsyscom{set output algebra}; quotes are stripped
+      ++ from strings.
+
+  == add
+
+    --ExpressionPackage()
+    E      ==> OutputForm
+    putout ==> mathprint$Lisp
+
+    s: String
+    e: OutputForm
+    l: List Any
+
+    output e ==
+      mathprint(e)$Lisp
+      void()
+
+    -- Note that we have to do the pretend here because otherwise we will
+    -- try to load STRING which is not yet compiled during build.
+
+    output s ==
+      output(s pretend OutputForm)
+
+    output(s,e) ==
+      output blankSeparate [s pretend OutputForm, e]
+
+    outputList(l) ==                                -- MGR
+      output hconcat
+        [if retractable?(x)$AnyFunctions1(String) then
+            message(retract(x)$AnyFunctions1(String))$OutputForm
+          else
+            x::OutputForm
+         for x in l]
 
 \end{chunk}
 \begin{chunk}{OUT.dotabb}
diff --git a/buglist b/buglist
index e875999..eab73fd 100644
--- a/buglist
+++ b/buglist
@@ -1,7 +1,7 @@
 =========================================================================
 
 bug 7241: 
-todo 330:
+todo 331:
 wish 1011:
 meh 5:
 errors 10016:
@@ -12,6 +12,90 @@ dup 50006:
 nonextend 60077:
 
 =========================================================================
+todo 330: fix the inheritance graph for these 
+
+"AHYP" [color="#4488FF",href="bookvol10.2.pdf#nameddest=AHYP"]
+"AHYP" -> "Category"
+
+"ATTREG" [color="#4488FF",href="bookvol10.2.pdf#nameddest=ATTREG"]
+"ATTREG"  -> "Category"
+
+/* nobody seems to go to bastype by itself */
+/* we combine these two to minimize edges in the graph */
+/* note that koerce is duplicated */
+"BASTYPE/KOERCE" [color="blue",href="bookvol10.2.pdf#nameddest=BASTYPE"]
+"BASTYPE/KOERCE" -> "Category"
+
+"KOERCE" [color="#4488FF",href="bookvol10.2.pdf#nameddest=KOERCE"]
+"KOERCE"  -> "Category"
+
+"BASTYPE-" [color="#88FF44",href="bookvol10.3.pdf#nameddest=BASTYPE"]
+"BASTYPE-" -> "Domain"
+
+"CFCAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=CFCAT"]
+"CFCAT"  -> "Category"
+
+"ELTAB" [color="#4488FF",href="bookvol10.2.pdf#nameddest=ELTAB"]
+"ELTAB"  -> "Category"
+
+"ESCONT1" [color="#FF4488",href="bookvol10.4.pdf#nameddest=ESCONT1"]
+"ESCONT1" -> "Package"
+/*"ESCONT1" -> "DFLOAT"*/
+/*"ESCONT1" -> "BOOLEAN"*/
+
+"GRDEF" [color="#FF4488",href="bookvol10.4.pdf#nameddest=GRDEF"]
+"GRDEF" -> "Package"
+/*"GRDEF" -> "BOOLEAN"*/
+
+"INTBIT" [color="#FF4488",href="bookvol10.4.pdf#nameddest=INTBIT"]
+"INTBIT" -> "Package"
+/*"INTBIT" -> "INT"*/
+
+"KONVERT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=KONVERT"]
+"KONVERT"  -> "Category"
+
+"MAGCDOC" [color="#4488FF",href="bookvol10.2.pdf#nameddest=MAGCDOC"]
+"MAGCDOC" -> "Category"
+
+"MSYSCMD" [color="#FF4488",href="bookvol10.4.pdf#nameddest=MSYSCMD"]
+"MSYSCMD" -> "Package"
+
+"ODEIFTBL" [color="#88FF44",href="bookvol10.3.pdf#nameddest=ODEIFTBL"]
+"ODEIFTBL" -> "Domain"
+
+"OM" [color="#4488FF",href="bookvol10.2.pdf#nameddest=OM"]
+"OM"  -> "Category"
+
+"OMCONN" [color="#88FF44",href="bookvol10.3.pdf#nameddest=OMCONN"]
+"OMCONN" -> "Domain"
+
+"OMDEV" [color="#88FF44",href="bookvol10.3.pdf#nameddest=OMDEV"]
+"OMDEV" -> "Domain"
+
+"PRIMCAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=PRIMCAT"]
+"PRIMCAT"  -> "Category"
+
+"PRINT" [color="#FF4488",href="bookvol10.4.pdf#nameddest=PRINT"]
+"PRINT" -> "Package"
+
+"PTRANFN" [color="#4488FF",href="bookvol10.2.pdf#nameddest=PTRANFN"]
+"PTRANFN"  -> "Category"
+
+"RFDIST" [color="#FF4488",href="bookvol10.4.pdf#nameddest=RFDIST"]
+"RFDIST" -> "Package"
+/*"RFDIST" -> {"INT"; "PI"; "NNI"; "BOOLEAN"; "SINT"}*/
+
+"RIDIST" [color="#FF4488",href="bookvol10.4.pdf#nameddest=RIDIST"]
+"RIDIST" -> "Package"
+/*"RIDIST" -> {"SINT"; "NNI"; "INT"}*/
+
+"SPFCAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=SPFCAT"]
+"SPFCAT"  -> "Category"
+
+"TYPE" [color="#4488FF",href="bookvol10.2.pdf#nameddest=TYPE"]
+"TYPE"  -> "Category"
+
+=========================================================================
 bug 7240: 
 
 in richtrig800-899 there is an occasional failure
@@ -2775,12 +2859,6 @@ nonextend 60076:
 
 
 =========================================================================
-todo 329:
-
->compiling OUT.spad to OUT.nrlib
-      [1] output: :(OutputForm) -- should replace by pretend
-
-=========================================================================
 nonextend 60075:
 
 >compiling BSTREE.spad to BSTREE.nrlib
@@ -43218,3 +43296,10 @@ expected:"   Random element in generated algebra does"
      got:"isAbsolutelyIrreducible? ma.1"
 FAILED grpthry  35 of 68 random generation, FAILURE OK.
 
+fixed by 20130331.02.tpd.patch
+=========================================================================
+todo 329:
+
+>compiling OUT.spad to OUT.nrlib
+      [1] output: :(OutputForm) -- should replace by pretend
+
diff --git a/changelog b/changelog
index 1cad657..cea32a7 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+20130331 tpd src/axiom-website/patches.html 20130331.02.tpd.patch
+20130331 tpd books/bookvol10.4 fix OUT.spad warning (bug 329)
+20130331 tpd buglist fix bug 329, add todo 330
+20130331 tpd src/algebra/Makefile update graph info for OUT
 20130331 tpd src/axiom-website/patches.html 20130331.01.tpd.patch
 20130331 tpd src/input/richalgebraic100-199.input fix failures
 20130330 tpd src/axiom-website/patches.html 20130330.02.tpd.patch
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index 1f75a01..f901569 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -661,6 +661,8 @@ LAYER0=\
 
 "OUT" [color="#FF4488",href="bookvol10.4.pdf#nameddest=OUT"]
 "OUT" -> "Package"
+/* "OUT" -> {"STRING", "CHAR", "SINT", "OUTFORM", "LIST", "INT"}*/
+/* "OUT" -> {"PRIMARR", "A1AGG-", "ISTRING"} */
 
 "PRIMCAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=PRIMCAT"]
 "PRIMCAT"  -> "Category"
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index f1a8601..371b7d3 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4131,5 +4131,7 @@ books/bookvol* update credit list
 books/bookvol0 fix typo
 <a href="patches/20130331.01.tpd.patch">20130331.01.tpd.patch</a>
 src/input/richalgebraic100-199.input fix failures
+<a href="patches/20130331.02.tpd.patch">20130331.02.tpd.patch</a>
+books/bookvol10.4 fix OUT.spad warning (bug 329)
  </body>
 </html>
