diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet
index 2c8554c..44a6905 100644
--- a/books/bookvol10.2.pamphlet
+++ b/books/bookvol10.2.pamphlet
@@ -67292,7 +67292,7 @@ digraph pic {
 )set message auto off
 )clear all
 
---S 1 of 1
+--S 1 of 3
 )show UnivariateLaurentSeriesCategory
 --R 
 --R UnivariateLaurentSeriesCategory(Coef: Ring)  is a category constructor
@@ -67422,6 +67422,14 @@ digraph pic {
 --R
 --E 1
 
+--S 2 of 3
+w:SparseUnivariateLaurentSeries(Fraction(Integer),'z,0):=0
+--E 2
+
+--S 3 of 3
+rationalFunction(w,0)
+--E 3
+
 )spool
 )lisp (bye)
 \end{chunk}
@@ -67433,6 +67441,9 @@ UnivariateLaurentSeriesCategory examples
 UnivariateLaurentSeriesCategory is the category of Laurent series 
 in one variable.
 
+w:SparseUnivariateLaurentSeries(Fraction(Integer),'z,0):=0
+rationalFunction(w,0)
+
 See Also:
 o )show UnivariateLaurentSeriesCategory
 
@@ -67801,44 +67812,59 @@ UnivariateLaurentSeriesCategory(Coef): Category == Definition where
       ++ \spad{series(st)} creates a series from a stream of non-zero terms,
       ++ where a term is an exponent-coefficient pair.  The terms in the
       ++ stream should be ordered by increasing order of exponents.
+
     multiplyCoefficients: (I -> Coef,%) -> %
       ++ \spad{multiplyCoefficients(f,sum(n = n0..infinity,a[n] * x**n)) =
       ++ sum(n = 0..infinity,f(n) * a[n] * x**n)}.
       ++ This function is used when Puiseux series are represented by
       ++ a Laurent series and an exponent.
+
     if Coef has IntegralDomain then
+
       rationalFunction: (%,I) -> Fraction Polynomial Coef
         ++ \spad{rationalFunction(f,k)} returns a rational function
         ++ consisting of the sum of all terms of f of degree <= k.
+        ++
+        ++X w:SparseUnivariateLaurentSeries(Fraction(Integer),'z,0):=0
+        ++X rationalFunction(w,0)
+
       rationalFunction: (%,I,I) -> Fraction Polynomial Coef
         ++ \spad{rationalFunction(f,k1,k2)} returns a rational function
         ++ consisting of the sum of all terms of f of degree d with
         ++ \spad{k1 <= d <= k2}.
 
     if Coef has Algebra Fraction Integer then
+
       integrate: % -> %
         ++ \spad{integrate(f(x))} returns an anti-derivative of the power
         ++ series \spad{f(x)} with constant coefficient 1.
         ++ We may integrate a series when we can divide coefficients
         ++ by integers.
+
       if Coef has integrate: (Coef,Symbol) -> Coef and _
          Coef has variables: Coef -> List Symbol then
+
         integrate: (%,Symbol) -> %
           ++ \spad{integrate(f(x),y)} returns an anti-derivative of the power
           ++ series \spad{f(x)} with respect to the variable \spad{y}.
+
       if Coef has TranscendentalFunctionCategory and _
          Coef has PrimitiveFunctionCategory and _
          Coef has AlgebraicallyClosedFunctionSpace Integer then
+
         integrate: (%,Symbol) -> %
           ++ \spad{integrate(f(x),y)} returns an anti-derivative of
           ++ the power series \spad{f(x)} with respect to the variable
           ++ \spad{y}.
+
       RadicalCategory
         --++ We provide rational powers when we can divide coefficients
         --++ by integers.
+
       TranscendentalFunctionCategory
         --++ We provide transcendental functions when we can divide
         --++ coefficients by integers.
+
     if Coef has Field then Field
         --++ Univariate Laurent series over a field form a field.
         --++ In fact, K((x)) is the quotient field of K[[x]].
diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet
index 6b21e76..4d83d51 100644
--- a/books/bookvol10.3.pamphlet
+++ b/books/bookvol10.3.pamphlet
@@ -71003,7 +71003,7 @@ InnerPrimeField(p:PositiveInteger): Exports == Implementation where
 )set message auto off
 )clear all
 
---S 1 of 1
+--S 1 of 3
 )show InnerSparseUnivariatePowerSeries
 --R 
 --R InnerSparseUnivariatePowerSeries(Coef: Ring)  is a domain constructor
@@ -71110,6 +71110,24 @@ InnerPrimeField(p:PositiveInteger): Exports == Implementation where
 --R
 --E 1
 
+-- test fix to iOrder internal function for finite case
+
+--S 2 of 5
+L := SparseUnivariateLaurentSeries(Fraction(Integer),'z,0)
+--E 2
+
+--S 3 of 5
+w:L := 0
+--E 3
+
+--S 4 of 5
+order(w,0)
+--E 4
+
+--S 5 of 5
+rationalFunction(w,0)
+--E 5
+
 )spool
 )lisp (bye)
 \end{chunk}
@@ -71501,7 +71519,9 @@ InnerSparseUnivariatePowerSeries(Coef): Exports == Implementation where
     elt(x:%,n:Integer) == coefficient(x,n)
 
     iOrder(st,n,refer) ==
-      explicitlyEmpty? st => error "order: series has infinite order"
+      explicitlyEmpty? st =>
+        finite?(n) => retract(n)@Integer
+        error "order: series has infinite order"
       explicitEntries? st =>
         ((r := getExpon frst st) :: COM) >= n => retract(n)@Integer
         r
@@ -76606,26 +76626,42 @@ LaurentPolynomial(R, UP): Exports == Implementation where
  
   Exports ==> Join(DifferentialExtension UP, IntegralDomain,
           ConvertibleTo RF, FullyRetractableTo R, RetractableTo UP) with
-    monomial?          : %  -> B
+
+    monomial? : %  -> B
       ++ monomial?(x) is not documented
-    degree             : %  -> Z
+
+    degree : %  -> Z
       ++ degree(x) is not documented
-    order              : %  -> Z
+
+    order : %  -> Z
       ++ order(x) is not documented
-    reductum           : %  -> %
+      ++
+      ++X w:SparseUnivariateLaurentSeries(Fraction(Integer),'z,0):=0
+      ++X order(w,0)
+
+    reductum : %  -> %
       ++ reductum(x) is not documented
+
     leadingCoefficient : %  -> R
       ++ leadingCoefficient is not documented
+
     trailingCoefficient: %  -> R
       ++ trailingCoefficient is not documented
-    coefficient        : (%, Z) -> R
+
+    coefficient : (%, Z) -> R
       ++ coefficient(x,n) is not documented
-    monomial           : (R, Z) -> %
+
+    monomial : (R, Z) -> %
       ++ monomial(x,n) is not documented
+
     if R has CharacteristicZero then CharacteristicZero
+
     if R has CharacteristicNonZero then CharacteristicNonZero
+
     if R has Field then
+
       EuclideanDomain
+
       separate: RF -> Record(polyPart:%, fracPart:RF)
         ++ separate(x) is not documented
  
diff --git a/changelog b/changelog
index 53c8269..597476f 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+20141123 wxh src/axiom-website/patches.html 20141123.03.wxh.patch
+20141123 wxh books/bookvol10.3 fix iOrder in ISUPS for finite args
+20141123 wxh books/bookvol10.2 rationalFunction from ULSCAT example
 20141123 tpd src/axiom-website/patches.html 20141123.02.tpd.patch
 20141123 tpd books/bookvol10.3 add help for AntiSymm
 20141123 tpd src/axiom-website/patches.html 20141123.01.tpd.patch
diff --git a/patch b/patch
index 9a19ba3..f1abbf5 100644
--- a/patch
+++ b/patch
@@ -1,3 +1,11 @@
-books/bookvol10.3 add help for AntiSymm
+books/bookvol10.3 fix iOrder in ISUPS for finite args
 
-add help for exported functions in AntiSymm
+    iOrder(st,n,refer) ==
+      explicitlyEmpty? st =>
+        finite?(n) => retract(n)@Integer
+        error "order: series has infinite order"
+
+in order to make this work:
+  w:SparseUnivariateLaurentSeries(Fraction(Integer),'z,0):=0
+  order(w,0)
+  rationalFunction(w,0)
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 8ca95fb..57547ca 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4722,6 +4722,8 @@ buglist add bug 7262: bad expression parse ^/2<br/>
 buglist add bug 7263: missing function from POLY(ANTISYM)<br/>
 <a href="patches/20141123.02.tpd.patch">20141123.02.tpd.patch</a>
 books/bookvol10.3 add help for AntiSymm<br/>
+<a href="patches/20141123.03.wxh.patch">20141123.03.wxh.patch</a>
+books/bookvol10.3 fix iOrder in ISUPS for finite args<br/>
  </body>
 </html>
 
