diff --git a/PC/VS9.0/readme.txt b/PC/VS9.0/readme.txt
index 8f543a5d..92d5c8a 100644
--- a/PC/VS9.0/readme.txt
+++ b/PC/VS9.0/readme.txt
@@ -251,10 +251,3 @@
 The pyproject propertyfile defines _WIN32 and x64 defines _WIN64 and _M_X64
 although the macros are set by the compiler, too. The GUI doesn't always know
 about the macros and confuse the user with false information.
-
-YOUR OWN EXTENSION DLLs
------------------------
-
-If you want to create your own extension module DLL, there's an example
-with easy-to-follow instructions in PC/example/; read the file
-readme.txt there first.
diff --git a/PC/example_nt/example.c b/PC/example_nt/example.c
deleted file mode 100644
index 953fb82..0000000
--- a/PC/example_nt/example.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "Python.h"
-
-static PyObject *
-ex_foo(PyObject *self, PyObject *args)
-{
-	printf("Hello, world\n");
-	Py_INCREF(Py_None);
-	return Py_None;
-}
-
-static PyMethodDef example_methods[] = {
-	{"foo", ex_foo, METH_VARARGS, "foo() doc string"},
-	{NULL, NULL}
-};
-
-PyMODINIT_FUNC
-initexample(void)
-{
-	Py_InitModule("example", example_methods);
-}
diff --git a/PC/example_nt/example.sln b/PC/example_nt/example.sln
deleted file mode 100644
index d8a3119..0000000
--- a/PC/example_nt/example.sln
+++ /dev/null
@@ -1,21 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example", "example.vcproj", "{A0608D6F-84ED-44AE-A2A6-A3CC7F4A4030}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Global
-	GlobalSection(SolutionConfiguration) = preSolution
-		Debug = Debug
-		Release = Release
-	EndGlobalSection
-	GlobalSection(ProjectConfiguration) = postSolution
-		{A0608D6F-84ED-44AE-A2A6-A3CC7F4A4030}.Debug.ActiveCfg = Debug|Win32
-		{A0608D6F-84ED-44AE-A2A6-A3CC7F4A4030}.Debug.Build.0 = Debug|Win32
-		{A0608D6F-84ED-44AE-A2A6-A3CC7F4A4030}.Release.ActiveCfg = Release|Win32
-		{A0608D6F-84ED-44AE-A2A6-A3CC7F4A4030}.Release.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-	EndGlobalSection
-	GlobalSection(ExtensibilityAddIns) = postSolution
-	EndGlobalSection
-EndGlobal
diff --git a/PC/example_nt/example.vcproj b/PC/example_nt/example.vcproj
deleted file mode 100644
index 17f1eb3..0000000
--- a/PC/example_nt/example.vcproj
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version="1.0" encoding="windows-1250"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="example"
-	SccProjectName=""
-	SccLocalPath="">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="2"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\Include,..\PC"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
-				StringPooling="TRUE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Release/example.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/export:initexample"
-				AdditionalDependencies="odbc32.lib odbccp32.lib python27.lib"
-				OutputFile=".\Release/example.pyd"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="..\PCbuild"
-				ModuleDefinitionFile=""
-				ProgramDatabaseFile=".\Release/example.pdb"
-				SubSystem="2"
-				ImportLibrary=".\Release/example.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				MkTypLibCompatible="TRUE"
-				SuppressStartupBanner="TRUE"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Release/example.tlb"
-				HeaderFileName=""/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="2"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\Include,..\PC"
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Debug/example.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				DebugInformationFormat="4"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/export:initexample"
-				AdditionalDependencies="odbc32.lib odbccp32.lib python27_d.lib"
-				OutputFile=".\Debug/example_d.pyd"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="..\PCbuild"
-				ModuleDefinitionFile=""
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile=".\Debug/example_d.pdb"
-				SubSystem="2"
-				ImportLibrary=".\Debug/example_d.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				MkTypLibCompatible="TRUE"
-				SuppressStartupBanner="TRUE"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Debug/example.tlb"
-				HeaderFileName=""/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90">
-			<File
-				RelativePath="example.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;$(NoInherit)"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;$(NoInherit)"/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;fi;fd">
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe">
-		</Filter>
-		<File
-			RelativePath="readme.txt">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/PC/example_nt/readme.txt b/PC/example_nt/readme.txt
deleted file mode 100644
index b83888c..0000000
--- a/PC/example_nt/readme.txt
+++ /dev/null
@@ -1,183 +0,0 @@
-Example Python extension for Windows NT
-=======================================
-
-This directory contains everything needed (except for the Python
-distribution!) to build a Python extension module using Microsoft VC++.
-Notice that you need to use the same compiler version that was used to build 
-Python itself.
-
-The simplest way to build this example is to use the distutils script
-'setup.py'.  To do this, simply execute:
-
-  % python setup.py install
-
-after everything builds and installs, you can test it:
-
-  % python -c "import example; example.foo()"
-  Hello, world
-
-See setup.py for more details.  alternatively, see below for instructions on 
-how to build inside the Visual Studio environment.
-
-Visual Studio Build Instructions
-================================
-
-These are instructions how to build an extension using Visual C++.  The
-instructions and project files have not been updated to the latest VC
-version.  In general, it is recommended you use the 'setup.py' instructions
-above.
-
-It has been tested with VC++ 7.1 on Python 2.4.  You can also use earlier 
-versions of VC to build Python extensions, but the sample VC project file 
-(example.dsw in this directory) is in VC 7.1 format.
-
-COPY THIS DIRECTORY!
---------------------
-This "example_nt" directory is a subdirectory of the PC directory, in order
-to keep all the PC-specific files under the same directory.  However, the
-example_nt directory can't actually be used from this location.  You first
-need to copy or move it up one level, so that example_nt is a direct
-sibling of the PC\ and Include\ directories.  Do all your work from within
-this new location -- sorry, but you'll be sorry if you don't.
-
-OPEN THE PROJECT
-----------------
-From VC 7.1, use the
-    File -> Open Solution...
-dialog (*not* the "File -> Open..." dialog!).  Navigate to and select the
-file "example.sln", in the *copy* of the example_nt directory you made
-above.
-Click Open.
-
-BUILD THE EXAMPLE DLL
----------------------
-In order to check that everything is set up right, try building:
-
-1. Select a configuration.  This step is optional.  Do
-       Build -> Configuration Manager... -> Active Solution Configuration
-   and select either "Release" or "Debug".
-   If you skip this step, you'll use the Debug configuration by default.
-
-2. Build the DLL.  Do
-       Build -> Build Solution
-   This creates all intermediate and result files in a subdirectory which
-   is called either Debug or Release, depending on which configuration you
-   picked in the preceding step.
-
-TESTING THE DEBUG-MODE DLL
---------------------------
-Once the Debug build has succeeded, bring up a DOS box, and cd to
-example_nt\Debug.  You should now be able to repeat the following session
-("C>" is the DOS prompt, ">>>" is the Python prompt) (note that various
-debug output from Python may not match this screen dump exactly):
-
-    C>..\..\PCbuild\python_d
-    Adding parser accelerators ...
-    Done.
-    Python 2.2c1+ (#28, Dec 14 2001, 18:06:39) [MSC 32 bit (Intel)] on win32
-    Type "help", "copyright", "credits" or "license" for more information.
-    >>> import example
-    [7052 refs]
-    >>> example.foo()
-    Hello, world
-    [7052 refs]
-    >>>
-
-TESTING THE RELEASE-MODE DLL
-----------------------------
-Once the Release build has succeeded, bring up a DOS box, and cd to
-example_nt\Release.  You should now be able to repeat the following session
-("C>" is the DOS prompt, ">>>" is the Python prompt):
-
-    C>..\..\PCbuild\python
-    Python 2.2c1+ (#28, Dec 14 2001, 18:06:04) [MSC 32 bit (Intel)] on win32
-    Type "help", "copyright", "credits" or "license" for more information.
-    >>> import example
-    >>> example.foo()
-    Hello, world
-    >>>
-
-Congratulations!  You've successfully built your first Python extension
-module.
-
-CREATING YOUR OWN PROJECT
--------------------------
-Choose a name ("spam" is always a winner :-) and create a directory for
-it.  Copy your C sources into it.  Note that the module source file name
-does not necessarily have to match the module name, but the "init" function
-name should match the module name -- i.e. you can only import a module
-"spam" if its init function is called "initspam()", and it should call
-Py_InitModule with the string "spam" as its first argument (use the minimal
-example.c in this directory as a guide).  By convention, it lives in a file
-called "spam.c" or "spammodule.c".  The output file should be called
-"spam.dll" or "spam.pyd" (the latter is supported to avoid confusion with a
-system library "spam.dll" to which your module could be a Python interface)
-in Release mode, or spam_d.dll or spam_d.pyd in Debug mode.
-
-Now your options are:
-
-1) Copy example.sln and example.vcproj, rename them to spam.*, and edit them
-by hand.
-
-or
-
-2) Create a brand new project; instructions are below.
-
-In either case, copy example_nt\example.def to spam\spam.def, and edit the
-new spam.def so its second line contains the string "initspam".  If you
-created a new project yourself, add the file spam.def to the project now.
-(This is an annoying little file with only two lines.  An alternative
-approach is to forget about the .def file, and add the option
-"/export:initspam" somewhere to the Link settings, by manually editing the
-"Project -> Properties -> Linker -> Command Line -> Additional Options" 
-box).
-
-You are now all set to build your extension, unless it requires other
-external libraries, include files, etc.  See Python's Extending and
-Embedding manual for instructions on how to write an extension.
-
-
-CREATING A BRAND NEW PROJECT
-----------------------------
-Use the
-    File -> New -> Project...
-dialog to create a new Project Workspace.  Select "Visual C++ Projects/Win32/
-Win32 Project", enter the name ("spam"), and make sure the "Location" is 
-set to parent of the spam directory you have created (which should be a direct 
-subdirectory of the Python build tree, a sibling of Include and PC).  
-In "Application Settings", select "DLL", and "Empty Project".  Click OK.
-
-You should now create the file spam.def as instructed in the previous
-section. Add the source files (including the .def file) to the project, 
-using "Project", "Add Existing Item".
-
-Now open the
-    Project -> spam properties...
-dialog.  (Impressive, isn't it? :-) You only need to change a few
-settings.  Make sure "All Configurations" is selected from the "Settings
-for:" dropdown list.  Select the "C/C++" tab.  Choose the "General"
-category in the popup menu at the top.  Type the following text in the
-entry box labeled "Addditional Include Directories:"
-
-    ..\Include,..\PC
-
-Then, choose the "General" category in the "Linker" tab, and enter
-    ..\PCbuild
-in the "Additional library Directories" box.
-
-Now you need to add some mode-specific settings (select "Accept"
-when asked to confirm your changes):
-
-Select "Release" in the "Configuration" dropdown list.  Click the
-"Link" tab, choose the "Input" Category, and append "python24.lib" to the
-list in the "Additional Dependencies" box.
-
-Select "Debug" in the "Settings for:" dropdown list, and append
-"python24_d.lib" to the list in the Additional Dependencies" box.  Then
-click on the C/C++ tab, select "Code Generation", and select 
-"Multi-threaded Debug DLL" from the "Runtime library" dropdown list.
-
-Select "Release" again from the "Settings for:" dropdown list.
-Select "Multi-threaded DLL" from the "Use run-time library:" dropdown list.
-
-That's all <wink>.
diff --git a/PC/example_nt/setup.py b/PC/example_nt/setup.py
deleted file mode 100644
index 0443bc7..0000000
--- a/PC/example_nt/setup.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This is an example of a distutils 'setup' script for the example_nt
-# sample.  This provides a simpler way of building your extension
-# and means you can avoid keeping MSVC solution files etc in source-control.
-# It also means it should magically build with all compilers supported by
-# python.
-
-# USAGE: you probably want 'setup.py install' - but execute 'setup.py --help'
-# for all the details.
-
-# NOTE: This is *not* a sample for distutils - it is just the smallest
-# script that can build this.  See distutils docs for more info.
-
-from distutils.core import setup, Extension
-
-example_mod = Extension('example', sources = ['example.c'])
-
-
-setup(name = "example",
-    version = "1.0",
-    description = "A sample extension module",
-    ext_modules = [example_mod],
-)
diff --git a/PC/readme.txt b/PC/readme.txt
index b5a5a87..5b6f88c 100644
--- a/PC/readme.txt
+++ b/PC/readme.txt
@@ -71,8 +71,6 @@
 dllbase_nt.txt A (manually maintained) list of base addresses for
                various DLLs, to avoid run-time relocation.
 
-example_nt     A subdirectory showing how to build an extension as a
-               DLL.
 
 Legacy support for older versions of Visual Studio
 ==================================================
diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
index 1e95857..2388535 100644
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -312,11 +312,3 @@
 doesn't always reflect the correct settings and may confuse the user
 with false information, especially for settings that automatically adapt
 for diffirent configurations.
-
-
-Your Own Extension DLLs
------------------------
-
-If you want to create your own extension module DLL (.pyd), there's an
-example with easy-to-follow instructions in ..\PC\example_nt\; read the
-file readme.txt there first.
