diff --git a/projects/vstudio/README.txt b/projects/vstudio/README.txt
index b8b4a3a..e28ec95 100644
--- a/projects/vstudio/README.txt
+++ b/projects/vstudio/README.txt
@@ -1,76 +1,77 @@
+Instructions for building libpng using Microsoft Visual Studio
+==============================================================
 
-VisualStudio instructions
-
-libpng version 1.6.35 - July 15, 2018
-
+Copyright (c) 2018 Cosmin Truta
 Copyright (c) 2010,2013,2015 Glenn Randers-Pehrson
 
 This code is released under the libpng license.
-For conditions of distribution and use, see the disclaimer
-and license in png.h
+For conditions of distribution and use, see the disclaimer and license
+in png.h
 
-This directory  contains support for building libpng under MicroSoft
-VisualStudio 2010.  It may also work under later versions of VisualStudio.
-You should be familiar with VisualStudio before using this directory.
+This directory contains a solution for building libpng under Microsoft
+Visual Studio 2010.  It may also work under later versions of Visual
+Studio.  You should be familiar with Visual Studio before using this
+solution.
 
 Initial preparations
-====================
-You must enter some information in zlib.props before attempting to build
-with this 'solution'.  Please read and edit zlib.props first.  You will
-probably not be familiar with the contents of zlib.props - do not worry,
-it is mostly harmless.
+--------------------
+You must enter some information in zlib.props before attempting to
+build with this 'solution'.  Please read and edit zlib.props first.
+You will probably not be familiar with the contents of zlib.props -
+do not worry, it is mostly harmless.
 
 This is all you need to do to build the 'release' and 'release library'
 configurations.
 
 Debugging
-=========
+---------
 The release configurations default to /Ox optimization.  Full debugging
-information is produced (in the .pdb), but if you encounter a problem the
-optimization may make it difficult to debug.  Simply rebuild with a lower
-optimization level (e.g. /Od.)
+information is produced (in the .pdb), but if you encounter a problem
+the optimization may make it difficult to debug.  Simply rebuild with a
+lower optimization level (e.g. /Od.)
 
 Linking your application
-========================
-Normally you should link against the 'release' configuration.  This builds a
-DLL for libpng with the default runtime options used by Visual Studio 2010.
-In particular the runtime library is the "MultiThreaded DLL" version.
-If you use Visual Studio defaults to build your application you will have no
-problems.
+------------------------
+Normally you should link against the 'release' configuration.  This
+builds a DLL for libpng with the default runtime options used by Visual
+Studio.  In particular the runtime library is the "MultiThreaded DLL"
+version.  If you use Visual Studio defaults to build your application,
+you should have no problems.
 
-If you don't use the Visual Studio defaults your application must still be
-built with the default runtime option (/MD).  If, for some reason, it is not
-then your application will crash inside libpng16.dll as soon as libpng
-tries to read from a file handle you pass in.
+If you don't use the Visual Studio defaults your application must still
+be built with the default runtime option (/MD).  If, for some reason,
+it is not then your application will crash inside libpng16.dll as soon
+as libpng tries to read from a file handle you pass in.
 
-If you do not want to use the DLL, for example for a very small application,
-the 'release library' configuration may be more appropriate.  This is built
-with a non-standard runtime library - the "MultiThreaded" version.  When you
-build your application it must be compiled with this option (/MT), otherwise
-it will not build (if you are lucky) or crash (if you are not.) See the
-WARNING file that is distributed along with this readme.txt.
+If you do not want to use the DLL, and prefer static linking instead,
+you may choose the 'release library' configuration.  This is built with
+a non-standard runtime library - the "MultiThreaded" version.  When you
+build your application, it must be compiled with this option (/MT),
+otherwise it will not build (if you are lucky) or it will crash (if you
+are not.) See the WARNING file that is distributed with this README.
 
 Stop reading here
-=================
+-----------------
 You have enough information to build a working application.
 
 Debug versions have limited support
-===================================
-This solution includes limited support for debug versions of libpng.  You
-do not need these unless your own solution itself uses debug builds (it is
-far more effective to debug on the release builds, there is no point building
-a special debug build unless you have heap corruption problems that you can't
-track down.)
+-----------------------------------
+This solution includes limited support for debug versions of libpng.
+You do not need these unless your own solution itself uses debug builds
+(it is far more effective to debug on the release builds, there is no
+point building a special debug build unless you have heap corruption
+problems that you can't track down.)
 
-The debug build of libpng is minimally supported.  Support for debug builds of
-zlib is also minimal.  You really don't want to do this.
+The debug build of libpng is minimally supported.  Support for debug
+builds of zlib is also minimal.  Please keep this in mind, if you want
+to use it.
 
 WARNING
-=======
-Libpng 1.6.x does not use the default run-time library when building static
-library builds of libpng; instead of the shared DLL runtime it uses a static
-runtime.  If you need to change this make sure to change the setting on all the
-relevant projects:
+-------
+Libpng 1.6.x does not use the default run-time library when building
+static library builds of libpng; instead of the shared DLL runtime, it
+uses a static runtime.  If you need to change this, make sure to change
+the setting on all the relevant projects:
 
     libpng
     zlib
@@ -82,16 +83,5 @@
     DLL         /MD            /MDd
     Library     /MT            /MTd
 
-NOTICE that libpng 1.5.x erroneously used /MD for Debug DLL builds; if you used
-the debug builds in your app and you changed your app to use /MD you will need
-to change it back to /MDd for libpng 1.6.0 and later.
-
-The Visual Studio 2010 defaults for a Win32 DLL or Static Library project are
-as follows:
-
-                     Release     Debug
-    DLL               /MD         /MDd
-    Static Library    /MD         /MDd
-
-Also, be sure to build libpng, zlib, and your project all for the same
+Also, be sure to build libpng, zlib, and your project, all for the same
 platform (e.g., 32-bit or 64-bit).
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index 5bf6e28..8786279 100644
--- a/projects/vstudio/zlib.props
+++ b/projects/vstudio/zlib.props
@@ -2,16 +2,15 @@
 <!--
  * zlib.props - location of zlib source
  *
- * libpng version 1.6.35 - July 15, 2018
- *
+ * Copyright (c) 2018 Cosmin Truta
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  *
  * This code is released under the libpng license.
  * For conditions of distribution and use, see the disclaimer
  * and license in png.h
 
- * You must edit this file to record the location of the zlib
- * source code.
+ * You may need to edit this file in order to update the location
+ * of the zlib source code.
  -->
 
 <Project ToolsVersion="4.0"
@@ -32,7 +31,7 @@
 	 versions do not match.  The zlib version used in this build is recorded
 	 below:
      -->
-    <ZLibSrcDir>..\..\..\..\zlib-1.2.8</ZLibSrcDir>
+    <ZLibSrcDir>..\..\..\..\zlib</ZLibSrcDir>
 
     <!-- The following line allows compilation for an ARM target with Visual
          Studio 2012.  Notice that this is not supported by the Visual Studio
