diff --git a/INSTALL b/INSTALL
index c361e46..88ce327 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.0.5 - October 5, 1999
+Installing libpng version 1.0.5 - October 15, 1999
 
 Before installing libpng, you must first install zlib.  zlib
 can usually be found wherever you got libpng.  zlib can be
@@ -21,6 +21,8 @@
           README
           *.h
           *.c
+          contrib
+             gregbook
           scripts
              makefile.*
           pngtest.png
@@ -38,46 +40,46 @@
 The files that are presently available in the scripts directory
 include
 
- descrip.mms      =>  VMS makefile for MMS or MMK
- makefile.std     =>  Generic UNIX makefile
- makefile.knr     =>  Archaic UNIX Makefile that converts files with
-                      ansi2knr (Requires ansi2knr.c from
-                      ftp://ftp.cs.wisc.edu/ghost)
- makefile.dec     =>  DEC Alpha UNIX makefile
- makefile.hpux    =>  HPUX (10.20 and 11.00) makefile
- makefile.sgi     =>  Silicon Graphics IRIX makefile
- makefile.sunos   =>  Sun makefile
- makefile.solaris =>  Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.5)
- makefile.linux   =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.5)
- makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
- makefile.mips    =>  MIPS makefile
- makefile.acorn   =>  Acorn makefile
- makefile.amiga   =>  Amiga makefile
- smakefile.ppc    =>  AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
-                   (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
- makefile.atari   =>  Atari makefile
- makefile.beos    =>  BEOS makefile for X86
- makefile.borland =>  Borland makefile
- build.bat        =>  MS-DOS batch file for Borland compiler
- makefile.dj2     =>  DJGPP 2 makefile
- makefile.msc     =>  Microsoft C makefile
- makefile.vcawin32 => makefile for Microsoft Visual C++ 5.0 and later (uses
-                      assembler code)
- makefile.vcwin32 =>  makefile for Microsoft Visual C++ 4.0 and later (does not
-                      use assembler code)
- makefile.turboc3 =>  Turbo C 3.0 makefile
- makefile.os2     =>  OS/2 Makefile (gcc and emx, requires pngos2.def)
- pngos2.def       =>  OS/2 module definition file used by makefile.os2
- makefile.watcom  =>  Watcom 10a+ Makefile, 32-bit flat memory model
- makevms.com      =>  VMS build script
- pngdll.mak       =>  To make a png32bd.dll with Borland C++ 4.5
- pngdef.pas       =>  Defines for a png32bd.dll with Borland C++ 4.5
- SCOPTIONS.ppc    =>  Used with smakefile.ppc
+ descrip.mms       =>  VMS makefile for MMS or MMK
+ makefile.std      =>  Generic UNIX makefile
+ makefile.knr      =>  Archaic UNIX Makefile that converts files with
+                       ansi2knr (Requires ansi2knr.c from
+                       ftp://ftp.cs.wisc.edu/ghost)
+ makefile.dec      =>  DEC Alpha UNIX makefile
+ makefile.hpux     =>  HPUX (10.20 and 11.00) makefile
+ makefile.sgi      =>  Silicon Graphics IRIX makefile
+ makefile.sunos    =>  Sun makefile
+ makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.5)
+ makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.5)
+ makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
+ makefile.mips     =>  MIPS makefile
+ makefile.acorn    =>  Acorn makefile
+ makefile.amiga    =>  Amiga makefile
+ smakefile.ppc     =>  AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
+                       (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
+ makefile.atari    =>  Atari makefile
+ makefile.beos     =>  BEOS makefile for X86
+ makefile.borland  =>  Borland makefile
+ build.bat         =>  MS-DOS batch file for Borland compiler
+ makefile.dj2      =>  DJGPP 2 makefile
+ makefile.msc      =>  Microsoft C makefile
+ makefile.vcawin32 =>  makefile for Microsoft Visual C++ 5.0 and later (uses
+                       assembler code)
+ makefile.vcwin32  =>  makefile for Microsoft Visual C++ 4.0 and later (does
+                       not use assembler code)
+ makefile.turboc3  =>  Turbo C 3.0 makefile
+ makefile.os2      =>  OS/2 Makefile (gcc and emx, requires pngos2.def)
+ pngos2.def        =>  OS/2 module definition file used by makefile.os2
+ makefile.watcom   =>  Watcom 10a+ Makefile, 32-bit flat memory model
+ makevms.com       =>  VMS build script
+ pngdll.mak        =>  To make a png32bd.dll with Borland C++ 4.5
+ pngdef.pas        =>  Defines for a png32bd.dll with Borland C++ 4.5
+ SCOPTIONS.ppc     =>  Used with smakefile.ppc
 
 Copy the file (or files) that you need from the
 scripts directory into this directory, for example
 
-   MSDOS example: copy scripts\makefile.msd makefile
+   MSDOS example: copy scripts\makefile.msc makefile
    UNIX example:    cp scripts/makefile.std makefile
 
 Read the makefile to see if you need to change any source or
@@ -89,6 +91,9 @@
 Then just run "make test" which will create the libpng library in
 this directory and run a quick test that reads the "pngtest.png"
 file and writes a "pngout.png" file that should be identical to it.
+Look for "9782 zero samples" in the output of the test.  For more
+confidence, you can run another test by typing "pngtest pngnow.png"
+and looking for "289 zero samples" in the output.
 
 Most of the makefiles will allow you to run "make install" to
 put the library in its final resting place (if you want to
