diff --git a/books/ps/v102leftorering.eps b/books/ps/v102leftorering.eps
new file mode 100644
index 0000000..342bd8c
--- /dev/null
+++ b/books/ps/v102leftorering.eps
@@ -0,0 +1,288 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: graphviz version 2.26.3 (20100126.1600)
+%%Title: pic
+%%Pages: 1
+%%BoundingBox: 36 36 252 152
+%%EndComments
+save
+%%BeginProlog
+/DotDict 200 dict def
+DotDict begin
+
+/setupLatin1 {
+mark
+/EncodingVector 256 array def
+ EncodingVector 0
+
+ISOLatin1Encoding 0 255 getinterval putinterval
+EncodingVector 45 /hyphen put
+
+% Set up ISO Latin 1 character encoding
+/starnetISO {
+        dup dup findfont dup length dict begin
+        { 1 index /FID ne { def }{ pop pop } ifelse
+        } forall
+        /Encoding EncodingVector def
+        currentdict end definefont
+} def
+/Times-Roman starnetISO def
+/Times-Italic starnetISO def
+/Times-Bold starnetISO def
+/Times-BoldItalic starnetISO def
+/Helvetica starnetISO def
+/Helvetica-Oblique starnetISO def
+/Helvetica-Bold starnetISO def
+/Helvetica-BoldOblique starnetISO def
+/Courier starnetISO def
+/Courier-Oblique starnetISO def
+/Courier-Bold starnetISO def
+/Courier-BoldOblique starnetISO def
+cleartomark
+} bind def
+
+%%BeginResource: procset graphviz 0 0
+/coord-font-family /Times-Roman def
+/default-font-family /Times-Roman def
+/coordfont coord-font-family findfont 8 scalefont def
+
+/InvScaleFactor 1.0 def
+/set_scale {
+       dup 1 exch div /InvScaleFactor exch def
+       scale
+} bind def
+
+% styles
+/solid { [] 0 setdash } bind def
+/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
+/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
+/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
+/bold { 2 setlinewidth } bind def
+/filled { } bind def
+/unfilled { } bind def
+/rounded { } bind def
+/diagonals { } bind def
+
+% hooks for setting color 
+/nodecolor { sethsbcolor } bind def
+/edgecolor { sethsbcolor } bind def
+/graphcolor { sethsbcolor } bind def
+/nopcolor {pop pop pop} bind def
+
+/beginpage {	% i j npages
+	/npages exch def
+	/j exch def
+	/i exch def
+	/str 10 string def
+	npages 1 gt {
+		gsave
+			coordfont setfont
+			0 0 moveto
+			(\() show i str cvs show (,) show j str cvs show (\)) show
+		grestore
+	} if
+} bind def
+
+/set_font {
+	findfont exch
+	scalefont setfont
+} def
+
+% draw text fitted to its expected width
+/alignedtext {			% width text
+	/text exch def
+	/width exch def
+	gsave
+		width 0 gt {
+			[] 0 setdash
+			text stringwidth pop width exch sub text length div 0 text ashow
+		} if
+	grestore
+} def
+
+/boxprim {				% xcorner ycorner xsize ysize
+		4 2 roll
+		moveto
+		2 copy
+		exch 0 rlineto
+		0 exch rlineto
+		pop neg 0 rlineto
+		closepath
+} bind def
+
+/ellipse_path {
+	/ry exch def
+	/rx exch def
+	/y exch def
+	/x exch def
+	matrix currentmatrix
+	newpath
+	x y translate
+	rx ry scale
+	0 0 1 0 360 arc
+	setmatrix
+} bind def
+
+/endpage { showpage } bind def
+/showpage { } def
+
+/layercolorseq
+	[	% layer color sequence - darkest to lightest
+		[0 0 0]
+		[.2 .8 .8]
+		[.4 .8 .8]
+		[.6 .8 .8]
+		[.8 .8 .8]
+	]
+def
+
+/layerlen layercolorseq length def
+
+/setlayer {/maxlayer exch def /curlayer exch def
+	layercolorseq curlayer 1 sub layerlen mod get
+	aload pop sethsbcolor
+	/nodecolor {nopcolor} def
+	/edgecolor {nopcolor} def
+	/graphcolor {nopcolor} def
+} bind def
+
+/onlayer { curlayer ne {invis} if } def
+
+/onlayers {
+	/myupper exch def
+	/mylower exch def
+	curlayer mylower lt
+	curlayer myupper gt
+	or
+	{invis} if
+} def
+
+/curlayer 0 def
+
+%%EndResource
+%%EndProlog
+%%BeginSetup
+14 default-font-family set_font
+1 setmiterlimit
+% /arrowlength 10 def
+% /arrowwidth 5 def
+
+% make sure pdfmark is harmless for PS-interpreters other than Distiller
+/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
+% make '<<' and '>>' safe on PS Level 1 devices
+/languagelevel where {pop languagelevel}{1} ifelse
+2 lt {
+    userdict (<<) cvn ([) cvn load put
+    userdict (>>) cvn ([) cvn load put
+} if
+
+%%EndSetup
+setupLatin1
+%%Page: 1 1
+%%PageBoundingBox: 36 36 252 152
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 216 116 boxprim clip newpath
+1 1 set_scale 0 rotate 40 41 translate
+0.16355 0.45339 0.92549 graphcolor
+newpath -4 -5 moveto
+-4 112 lineto
+213 112 lineto
+213 -5 lineto
+closepath fill
+1 setlinewidth
+0.16355 0.45339 0.92549 graphcolor
+newpath -4 -5 moveto
+-4 112 lineto
+213 112 lineto
+213 -5 lineto
+closepath stroke
+% LeftOreRing()
+gsave
+0.53725 0.24706 0.90196 nodecolor
+newpath 110 108 moveto
+0 108 lineto
+0 72 lineto
+110 72 lineto
+closepath fill
+1 setlinewidth
+filled
+0.53725 0.24706 0.90196 nodecolor
+newpath 110 108 moveto
+0 108 lineto
+0 72 lineto
+110 72 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+8 86.4 moveto 94 (LeftOreRing\(\)) alignedtext
+grestore
+% EntireRing()
+gsave
+0 0 1 nodecolor
+newpath 105 36 moveto
+5 36 lineto
+5 0 lineto
+105 0 lineto
+closepath fill
+1 setlinewidth
+filled
+0 0 1 nodecolor
+newpath 105 36 moveto
+5 36 lineto
+5 0 lineto
+105 0 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+13 14.4 moveto 84 (EntireRing\(\)) alignedtext
+grestore
+% LeftOreRing()->EntireRing()
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 55 71.83 moveto
+55 64.13 55 54.97 55 46.42 curveto
+stroke
+0 0 0 edgecolor
+newpath 58.5 46.41 moveto
+55 36.41 lineto
+51.5 46.41 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 58.5 46.41 moveto
+55 36.41 lineto
+51.5 46.41 lineto
+closepath stroke
+grestore
+% Category
+gsave
+0.53725 0.24706 0.90196 nodecolor
+newpath 208 108 moveto
+128 108 lineto
+128 72 lineto
+208 72 lineto
+closepath fill
+1 setlinewidth
+filled
+0.53725 0.24706 0.90196 nodecolor
+newpath 208 108 moveto
+128 108 lineto
+128 72 lineto
+208 72 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+136 86.4 moveto 64 (Category) alignedtext
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+end
+restore
+%%EOF
diff --git a/changelog b/changelog
index c16d78a..4cace64 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20140708 tpd src/axiom-website/patches.html 20140708.02.tpd.patch
+20140708 tpd books/ps/v102leftorering.eps add missing image file
 20140708 tpd src/axiom-website/patches.html 20140708.01.tpd.patch
 20140708 tpd books/bookvolbib add DL06, Bro96a to document LeftOreRing
 20140708 tpd src/share/algebra/users.daase/index.kaf add LeftOreRing
diff --git a/patch b/patch
index 657fe66..4318346 100644
--- a/patch
+++ b/patch
@@ -1,11 +1 @@
-src/algebra/Makefile add LeftOreRing
-
-Add LeftOreRing
-Extending GcdDomain
-adding DL06, Bro96a to bibliography to document LeftOreRing
-update databases
-update BOOTSTRAP for GCDDOM and UPOLYC
-add unvectorise to UPOLYC
-
-
-
+books/ps/v102leftorering.eps add missing image file
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index d21aa36..35568e3 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4534,6 +4534,8 @@ books/bookvolbib add many new references
 books/bookvolbib add Mohr98, Jeff99
 <a href="patches/20140708.01.tpd.patch">20140708.01.tpd.patch</a>
 src/algebra/Makefile add LeftOreRing
+<a href="patches/20140708.02.tpd.patch">20140708.02.tpd.patch</a>
+books/ps/v102leftorering.eps add missing image file
  </body>
 </html>
 
