diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet
index fb3483a..2cecfd5 100644
--- a/books/bookvol5.pamphlet
+++ b/books/bookvol5.pamphlet
@@ -91,9 +91,9 @@ Axiom has a very long history and many people have contributed to the
 effort, some in large ways and some in small ways. Any and all effort
 deserves recognition. There is no other criteria than contribution
 of effort. We would like to acknowledge and thank the following people:
-\defvar{credits}
+\defvar{creditlist}
 \begin{chunk}{initvars}
-(defvar credits '(
+(defvar creditlist '(
 "An alphabetical listing of contributors to AXIOM:"
 "Michael Albaugh        Cyril Alberga          Roy Adler"
 "Christian Aistleitner  Richard Anderson       George Andrews"
@@ -206,8 +206,6 @@ listed here along with explanations.
 \section{The global variables}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\defdollar{current-directory}
-
 The \verb|$current-directory| variable is set to the current directory 
 at startup. This is used by the \verb|)cd| function and some of the 
 compile routines. This is the result of the \refto{get-current-directory}
@@ -226,8 +224,6 @@ $current-directory = "/research/test/"
 \end{chunk}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\defdollar{defaultMsgDatabaseName}
-
 The \verb|$defaultMsgDatabaseName| variable contains the location of the
 international message database. This can be changed to use a translated
 version of the messages. It defaults to the United States English version.
@@ -251,10 +247,8 @@ An example of a runtime value is:
 \end{chunk}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\defdollar{directory-list}
-
 The \verb|$directory-list| is a runtime list of absolute pathnames.
-This list is generated by the \refto{reroot} function from the list of
+This list is generated by \refto{reroot} from the list of
 relative paths held in the variable
 \verb|$relative-directory-list|. Each entry will be prefixed by
 \verb|$spadroot|.
@@ -276,8 +270,6 @@ $directory-list =
 \end{chunk}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\defdollar{InitialModemapFrame}
-
 The \verb|$InitialModemapFrame| is used as the initial value.
 
 See the function \fnref{makeInitialModemapFrame}.
@@ -294,11 +286,9 @@ $InitialModemapFrame = '((nil))
 \end{chunk}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\defdollar{library-directory-list}
-
 The \verb|$library-directory-list| variable is the system-wide search
-path for library files.  It is set up in the \refto{reroot} function by
-prepending the \verb|$spadroot| variable to the 
+path for library files.  \refto{reroot} 
+prepends the \verb|$spadroot| variable to the 
 \verb|$relative-library-directory-list| variable.
 
 An example of a runtime value is:
@@ -313,8 +303,6 @@ $library-directory-list =  ("/research/test/mnt/ubuntu/algebra/")
 \end{chunk}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\defdollar{msgDatabaseName}
-
 The \verb|$msgDatabaseName| is a locally shared variable among the
 message database routines.
 
@@ -330,8 +318,6 @@ An example of a runtime value is:
 \end{chunk}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\defdollar{openServerIfTrue}
-
 The \verb|$openServerIfTrue| It appears to control whether the interpreter
 will be used as an open server, probably for OpenMath use.
 
@@ -351,8 +337,6 @@ $openServerIfTrue = nil
 \end{chunk}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\defdollar{relative-directory-list}
-
 The \verb|$relative-directory-list| variable contains a hand-generated
 list of directories used in the Axiom system.  The relative directory
 list specifies a search path for files for the current directory
@@ -385,8 +369,6 @@ $relative-directory-list =
 \end{chunk}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\defdollar{relative-library-directory-list}
-
 The \verb|$relative-library-directory-list| is a hand-generated list of 
 directories containing algebra. The \refto{reroot} function will prefix every
 path in this list with the value of the \verb|$spadroot| variable
@@ -404,8 +386,6 @@ $relative-library-directory-list = ("/algebra/")
 \end{chunk}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\defdollar{spadroot}
-
 The \verb|$spadroot| variable is the internal name for the AXIOM shell
 variable.  It is set in reroot to the value of the argument. The value
 is expected to be a directory name.  The \refto{initroot} function
@@ -425,8 +405,6 @@ $spadroot = "/research/test/mnt/ubuntu"
 \end{chunk}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\defdollar{SpadServer}
-
 The \verb|$SpadServer| determines whether Axiom acts as a remote server.
 
 See the function \fnref{openserver}.
@@ -443,8 +421,6 @@ $SpadServer = nil
 \end{chunk}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\defdollar{SpadServerName}
-
 The \verb|$SpadServerName| defines the name of the spad server socket.
 In unix these exist in the tmp directory as names.
 
@@ -461,6 +437,22 @@ $SpadServerName = "/tmp/.d"
 
 \end{chunk}
 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+The \verb|$IOindex| variable is the number associated with the input prompt.
+Every successful expression evaluated increments this number until a
+\verb|)clear all| resets it. Here we set it to the initial value.
+
+An example of a runtime value is:
+\begin{verbatim}
+$IOindex = 1
+\end{verbatim}
+
+\defdollar{IOindex}
+\begin{chunk}{initvars}
+(defvar $IOindex 1 "The current Axiom prompt number")
+
+\end{chunk}
+
 \chapter{Starting Axiom}
 Axiom starts by invoking a function value of the lisp symbol
 \verb|*top-level-hook*|. The function invocation path to from this
@@ -518,10 +510,6 @@ The \fnref{openserver} function tried to set up the socket connection
 used for things like hyperdoc. The \verb|$openServerIfTrue| variable
 starts true, which implies trying to start a server.
 
-The \verb|$IOindex| variable is the number associated with the input prompt.
-Every successful expression evaluated increments this number until a
-\verb|)clear all| resets it. Here we set it to the initial value.
-
 Axiom has multiple frames that contain independent information about a
 computation. There can be several frames at any one time and you can 
 shift back and forth between the frames. By default, the system starts
@@ -557,7 +545,7 @@ information is initialized.
 \calls{restart}{readSpadProfileIfThere}
 \calls{restart}{spad}
 \usesdollar{restart}{openServerIfTrue}
-\usesdollar{restart}{SpadServername}
+\usesdollar{restart}{SpadServerName}
 \usesdollar{restart}{SpadServer}
 \usesdollar{restart}{IOindex}
 \usesdollar{restart}{InteractiveFrame}
@@ -858,7 +846,7 @@ suppressed and input does not use piles. If this is true then the
 library loading routines might output messages and piles are expected
 on input (as from a file).
 \end{list}
-The system commands are handled by the function kept in the ``hook''
+System commands are handled by the function in the ``hook''
 variable \verb|$systemCommandFunction| which
 has the default function \verb|InterpExecuteSpadSystemCommand|.
 Thus, when a system command is entered this function is called.
@@ -2404,7 +2392,7 @@ sameUnionBranch(uArg, m) ==
 \end{chunk}
 
 \defun{phParse}{phParse}
-\tpdhere{The pform function has a leading percent sign. fix this}
+\tpdhere{The pform function has a leading percent sign}
 \begin{verbatim}
 phParse: carrier[tokens,...] -> carrier[ptree, tokens,...]
 \end{verbatim}
@@ -3770,7 +3758,6 @@ Note that incRgen1 recursively calls this function.
 
 \end{chunk}
 
-\defvar{StreamNil}
 \begin{chunk}{postvars}
 (eval-when (eval load)
   (setq |StreamNil| (list '|nullstream|)))
@@ -7558,7 +7545,7 @@ fn must transform the head of the stack
 
 \end{chunk}
 
-\defvar{npPParg}
+\defdollar{npTokToNames}
 \begin{chunk}{initvars}
 (defvar |$npTokToNames| (list '~ '|#| '[] '{} '|[\|\|]| '|{\|\|}|))
 
@@ -8191,7 +8178,7 @@ This was rewritten by NAG to remove flet.
 
 \section{Macro handling}
 \defun{phMacro}{phMacro}
-\tpdhere{The pform function has a leading percent sign. fix this}
+\tpdhere{The pform function has a leading percent sign}
 \begin{verbatim}
 carrier[ptree,...] -> carrier[ptree, ptreePremacro,...]
 \end{verbatim}
@@ -8502,7 +8489,7 @@ Returns [sy, state] or NIL.
 \end{chunk}
 
 \defun{macMacro}{Add appropriate definition the a Macro pform}
-This function adds the appropriate definition and returns
+This function adds the definition and returns
 the original Macro pform.
 \tpdhere{The pform function has a leading percent sign. fix this}
 \calls{macMacro}{pfMacroLhs}
@@ -11880,12 +11867,6 @@ This is used for debugging
 
 \end{chunk}
 
-\defdollar{msgDatabaseName}
-\begin{chunk}{initvars}
-(defvar |$msgDatabaseName| nil) 
-
-\end{chunk}
-
 \defdollar{testingErrorPrefix}
 \begin{chunk}{initvars}
 (defvar |$testingErrorPrefix| "Daly Bug")
@@ -14892,7 +14873,6 @@ where feature is one of:
 \end{chunk}
 
 \section{syntax while}
-\label{while}
 \index{while}
 \index{syntax!while}
 \index{while!syntax}
@@ -16336,7 +16316,7 @@ You can type ``)? compile'' and see compiler related information
 \end{chunk}
 
 \defun{commandsForUserLevel}{Select commands matching this user level}
-The \verb|$UserLevel| variable contains one of three values:
+The \verb|$UserLevel| contains one of three values:
 {\tt compiler}, {\tt development}, or {\tt interpreter}. This variable
 is used to select a subset of commands from the list stored in 
 \verb|$systemCommands|, representing all of the commands that are
@@ -17558,7 +17538,7 @@ during a session are pushed onto this list for later lookup.
 \defun{ncloopCommand}{ncloopCommand}
 The \$systemCommandFunction is set in SpadInterpretStream
 to point to the function InterpExecuteSpadSystemCommand.
-The system commands are handled by the function kept in the ``hook''
+The system commands are handled by the function in the ``hook''
 variable \verb|$systemCommandFunction| which
 has the default function \verb|InterpExecuteSpadSystemCommand|.
 Thus, when a system command is entered this function is called.
@@ -17903,7 +17883,7 @@ Most responses contain the fields:
 
 \section{Browsers, MathML, and Fonts}
 This work has the Firefox browser as its target. Firefox has built-in
-support for MathML, javascript, and XMLHttpRequest handling. More details
+support for MathML, javascript, and XMLHttpRequests. More details
 are available in bookvol11.pamphlet but the very basic machinery for 
 communication with the browser involves a dance between the browser
 and the multiServ function (see the axserver.spad.pamphlet). 
@@ -19079,7 +19059,7 @@ verbatim. This will eventually result in a call to the function
 \begin{chunk}{defun credits 0}
 (defun |credits| ()
  (declare (special credits))
- (mapcar #'(lambda (x) (princ x) (terpri)) credits))
+ (mapcar #'(lambda (x) (princ x) (terpri)) creditlist))
 
 \end{chunk}
 
@@ -22095,7 +22075,7 @@ RREAD takes erroval to return if key is missing
 
 \end{chunk}
 \defun{writifyComplain}{writifyComplain}
-Create a full isomorphic object which can be saved in a lisplib.  Note
+Create a full isomorphic object to be saved in a lisplib.  Note
 that {\tt dewritify(writify(x))} preserves UEQUALity of hashtables.
 HASHTABLEs go both ways.  READTABLEs cannot presently be transformed
 back.
@@ -23827,7 +23807,7 @@ example:
    (interpreter compiler development)
    development)
 \end{verbatim}
-The list looks like (the names in bold are accessor names that can be
+The list contains (the names in bold are accessor names that can be
 found in {\bf property.lisp.pamphlet\cite{1}}. Look for "setName".):
 \begin{list}{}
 \item {\bf 1} {\sl Name} the keyword the user will see. In this example
@@ -30087,8 +30067,8 @@ which, because ``message'' is a TREE, generates the recursive call:
 \begin{verbatim}
    (set1 (|auto| |off|) <the message subtree>)
 \end{verbatim}
-The ``autoload'' subtree is a FUNCTION (printLoadMessages), 
-which gets called with \verb|%describe%|
+The ``autoload'' subtree contains a FUNCTION called 
+printLoadMessages, which gets called with \verb|%describe%|
 \calls{set1}{displaySetVariableSettings}
 \calls{set1}{seq}
 \calls{set1}{exit}
@@ -31388,10 +31368,10 @@ This decides when to give trace and untrace messages.
 
 \end{chunk}
 
-\defdollar{reportSpadTrace}
+\defdollar{reportSpadtrace}
 This reports the traced functions
 \begin{chunk}{initvars}
-(defvar |$reportSpadTrace| nil) 
+(defvar |$reportSpadtrace| nil) 
 
 \end{chunk}
 
@@ -32659,7 +32639,7 @@ This reports the traced functions
         currentalist opstructurelist sig kind triple fn op 
         mm n alias tracename sigslotnumberalist)
  (declare (special |$tracedModemap| /tracenames |$fromSpadTrace| |$letAssoc|
-    |$reportSpadTrace| |$traceNoisely|))
+    |$reportSpadtrace| |$traceNoisely|))
  (setq |$fromSpadTrace| t)
  (setq |$tracedModemap| nil)
  (cond
@@ -32777,7 +32757,7 @@ This reports the traced functions
         (exit
          (cond ((cdddr x) (setq t10 (cons x t10))))))))))
    (cond
-    (|$reportSpadTrace|
+    (|$reportSpadtrace|
      (cond (|$traceNoisely| (|printDashedLine|)))
      (do ((t12 (|orderBySlotNumber| sigslotnumberalist) (cdr t12))
           (x nil))
@@ -34462,7 +34442,7 @@ separately, it is possible to undo to either BEFORE or AFTER
 the command. These special delta(i)s are given ONLY when a
 a system command is given which alters the environment.
 
-Note: recordFrame('system) is called before a command is executed, and
+recordFrame('system) is called before a command is executed, and
 recordFrame('normal) is called after (see processInteractive1).
 If no changes are found for former, no special entry is given.
 
@@ -34495,9 +34475,9 @@ $previousBindings := nil
 
 \end{chunk}
 
-\defdollar{reportUndo}
+\defdollar{reportundo}
 \begin{chunk}{initvars}
-(defvar |$reportUndo| nil "t means we report the steps undo takes")
+(defvar |$reportundo| nil "t means we report the steps undo takes")
 
 \end{chunk}
 \defun{undo}{undo}
@@ -34637,7 +34617,7 @@ diffAlist(new,old) ==
     -- (2) if the new world has a proplist for that variable, it has
     --     been handled by the first loop.
   res := NREVERSE acc
-  if BOUNDP '$reportUndo and $reportUndo then reportUndo res
+  if BOUNDP '$reportundo and $reportundo then reportUndo res
   res
 \end{verbatim}
 \calls{diffAlist}{assq}
@@ -34747,13 +34727,13 @@ diffAlist(new,old) ==
              (setq acc (cons oldPair acc))))))))
       (setq res (nreverse acc))
       (cond 
-       ((and (boundp '|$reportUndo|) |$reportUndo|)
+       ((and (boundp '|$reportundo|) |$reportundo|)
          (|reportUndo| res)))
       (exit res))))))) 
 
 \end{chunk}
 \defun{reportUndo}{reportUndo}
-This function is enabled by setting \verb|$reportUndo| to a non-nil value.
+This function is enabled by setting \verb|$reportundo| to a non-nil value.
 An example of the output generated is:
 \begin{verbatim}
 r := binary(22/7)
@@ -34779,7 +34759,7 @@ Properties of r ::
 \calls{reportUndo}{lassoc}
 \calls{reportUndo}{sayBrightlyNT}
 \calls{reportUndo}{pp}
-\usesdollar{reportUndo}{InteractiveFrame}
+\usesdollar{reportundo}{InteractiveFrame}
 \begin{chunk}{defun reportUndo}
 (defun |reportUndo| (acc)
  (prog (name proplist curproplist prop value)
@@ -36790,7 +36770,7 @@ tables already contain all of the information). When the database
 is built the time stamp is saved in both the gcl image and the
 database.
 
-Regarding the 'ancestors field for a category: At database build
+Regarding the 'ancestors field in a category: At database build
 time there exists a *ancestors-hash* hash table that gets filled
 with CATEGORY (not domain) ancestor information. This later provides
 the information that goes into interp.daase This *ancestors-hash*
@@ -38729,6 +38709,7 @@ database format.
 \end{chunk}
 
 \chapter{System Statistics}
+\defun{statisticsInitialization}{statisticsInitialization}
 \calls{statisticsInitialization}{gbc-time}
 \begin{chunk}{defun statisticsInitialization}
 (defun |statisticsInitialization| () 
@@ -41676,7 +41657,7 @@ OMstatus OMgetBigIntN(OMdev dev, char *data, int len, int *sign,
 \item \verb+OMstatus OMgetSymbol(OMdev dev, char **cd, char **name)+
 \item 
 \begin{verbatim}
-OMstatus OMgetSymbolN(OMdev dev, char *cd, int clen, char *name, int nlen)
+OMstatus OMgetSymbolN(OMdev dev,char *cd,int clen,char *name,int nlen)
 \end{verbatim}
 \end{itemize} 
 The functions that return variable size data exist in two versions. A simple
@@ -41951,7 +41932,7 @@ OMstatus OMlaunchEnv(OMconn conn, char *machine, char *command, char *env)
 \item \verb+OMstatus OMserveClient(OMconn conn)+
 \end{itemize} 
 
-The environment variables passed to the server (launched program) are
+The environment variables sent to the server (launched program) are
 {\verb+OM_CALLER_UNIX_SOCKET+} (when a local connection is required) and 
 {\verb+OM_CALLER_MACHINE+} and {\verb+OM_CALLER_PORT+} (for internet
 connections).
@@ -41998,10 +41979,10 @@ All memory allocations and deallocations in the library are done through the
 \section{Miscellaneous Functions and Variables}
 
 \begin{itemize} 
-\item \verb+char *OMstatusToString(OMstatus status)+ converts a status to a
+\item \verb+char *OMstatusToString(OMstatus status)+ make a status into a
 human readable string.
-\item \verb+char *OMtokenTypeToString(OMtokenType ttype)+ converts a
-{\tt tokenType} to a human readable string.
+\item \verb+char *OMtokenTypeToString(OMtokenType ttype)+ makes a
+{\tt tokenType} into a human readable string.
 \item \verb+OMencodingType OMgetDeviceEncoding(OMdev dev)+ returns the
 encoding actually used by the device.
 \item \verb+char *OMlibDynamicInfo(void)+
@@ -45760,7 +45741,7 @@ curoutstream                 & ncIntLoop           & \\
                              & clearFrame          & \\
                              & recordFrame         & recordFrame \\
 \$PrintCompilerMessageIfTrue & spad                & \\
-\$reportUndo                 & initvars            & diffAlist \\
+\$reportundo                 & initvars            & diffAlist \\
 \$spad                       & ncTopLevel          & \\
 \$SpadServer                 & restart             & \\
 \$SpadServerName             & initvars            & restart \\
@@ -45821,7 +45802,7 @@ separately, it is possible to undo to either BEFORE or AFTER
 the command. These special delta(i)s are given ONLY when a
 a system command is given which alters the environment.
 
-Note: recordFrame('system) is called before a command is executed, and
+recordFrame('system) is called before a command is executed, and
 recordFrame('normal) is called after (see processInteractive1).
 If no changes are found for former, no special entry is given.
 
@@ -45889,7 +45870,8 @@ The \verb|$interpreterFrameRing| is set to a pair whose car is set to
 the result of emptyInterpreterFrame
 
 \subsection{\$InteractiveFrame}
-The \verb|$InteractiveFrame| is set in restart to the value of the
+The \verb|$InteractiveFrame| is set in the restart function 
+to the value of the
 call to the makeInitialModemapFrame function. This function simply
 returns a copy of the variable \verb|$InitialModemapFrame|
 
@@ -45974,8 +45956,8 @@ This is part of the undo mechanism.
 \subsection{\$PrintCompilerMessageIfTrue}
 The \verb|$PrintCompilerMessageIfTrue| variable is set to NIL in spad.
 
-\subsection{\$reportUndo}
-The \verb|$reportUndo| variable is used in diffAlist. It was not normally
+\subsection{\$reportundo}
+The \verb|$reportundo| variable is used in diffAlist. It was not normally
 bound but has been set to T in initvars. If the variable is set
 to T then we call reportUndo.
 
diff --git a/changelog b/changelog
index a9e7338..a2fffa4 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20130313 tpd src/axiom-website/patches.html 20130313.02.tpd.patch
+20130313 tpd books/bookvol5 fix references
 20130313 tpd src/axiom-website/patches.html 20130313.01.tpd.patch
 20130313 tpd buglist complete console review and classify
 20130307 tpd src/axiom-website/patches.html 20130307.02.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index f1cfb5e..60eb4b7 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4017,5 +4017,7 @@ books/bookvol10.* fix help documentation and regression tests
 books/bookvol4 clean up latex, document makeHelpFiles
 <a href="patches/20130313.01.tpd.patch">20130313.01.tpd.patch</a>
 buglist complete console review and classify
+<a href="patches/20130313.02.tpd.patch">20130313.02.tpd.patch</a>
+books/bookvol5 fix references
  </body>
 </html>
