diff --git a/src/site/apt/examples/multiple.apt b/src/site/apt/examples/multiple.apt
index aaf248c..badc306 100644
--- a/src/site/apt/examples/multiple.apt
+++ b/src/site/apt/examples/multiple.apt
@@ -1,5 +1,5 @@
  ------
- Delete Additional Files Not Exposed to Maven
+ Patch Multiple Files from Multiple Directories
  ------
  John Casey
  Jesse McConnell
@@ -29,56 +29,57 @@
 
 Patch Multiple Files from Multiple Directories
 
-  The <<<maven-patch-plugin>>> can be configured apply sets of patches from multiple directories.
-  In the example below, the plugin is setup to apply all the patches in a bugfix directory with 
-  optimization (will not reapply the same patch) and also from an enhancements directory.  This 
+  The <<<maven-patch-plugin>>> can be configured to apply sets of patches from multiple directories.
+  In the example below, the plugin is setup to apply all the patches in a <<<bugfix>>> directory with 
+  optimization (will not reapply the same patch) and also from an <<<enhancement>>> directory.  This 
   scenario might crop up if you don't have commit access to a projects source yet need to apply 
   bugfix and enhancement patches.  The two different patch source directories are shown purely as 
   an example of what can be configured.
 
 +--------
-<build>
+<project>
   [...]
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-patch-plugin</artifactId>
-            <version>1.0-SNAPSHOT</version>
+  <build>
+    [...]
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-patch-plugin</artifactId>
+        <version>1.0</version>
+        <configuration>
+          <patchTargetDir>${moduleDirectory}</patchTargetDir>
+          <skipApplication>false</skipApplication>
+        </configuration>
+        <executions>
+          <execution>
+            <id>bugfix-patches</id>
             <configuration>
-               <patchTargetDir>${moduleDirectory}</patchTargetDir>
-               <skipApplication>false</skipApplication>
+              <patchDirectory>src/main/patches/bugfix</patchDirectory>
+              <patchTrackingFile>${project.build.directory}/optimization-files/bugfix/patches-applied.txt</patchTrackingFile>
+              <naturalOrderProcessing>true</naturalOrderProcessing>
             </configuration>
-            <executions>
-               <execution>
-                  <id>bugfix-patches</id>
-                  <configuration>
-                     <patchDirectory>src/main/patches/bugfix</patchDirecto
-ry>
-                     <patchTrackingFile>${project.build.directory}/optimization-
-files/bugfix/patches-applied.txt</patchTrackingFile>
-                     <naturalOrderProcessing>true</naturalOrderProcessing>
-                  </configuration>
-                  <phase>process-sources</phase>
-                  <goals>
-                     <goal>apply</goal>
-                  </goals>
-               </execution>
-               <execution>
-                  <id>enhancement-patches</id>
-                  <configuration>
-                     <patchDirectory>src/main/patches/enhancement</patchDirector
-y>
-                     <patchTrackingFile>${project.build.directory}/optimization-
-files/enhancement/patches-applied.txt</patchTrackingFile>
-                     <naturalOrderProcessing>true</naturalOrderProcessing>
-                  </configuration>
-                  <phase>process-sources</phase>
-                  <goals>
-                     <goal>apply</goal>
-                  </goals>
-               </execution>
-            </executions>
-          </plugin>
-    
+            <phase>process-sources</phase>
+            <goals>
+              <goal>apply</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>enhancement-patches</id>
+            <configuration>
+              <patchDirectory>src/main/patches/enhancement</patchDirectory>
+              <patchTrackingFile>${project.build.directory}/optimization-files/enhancement/patches-applied.txt</patchTrackingFile>
+              <naturalOrderProcessing>true</naturalOrderProcessing>
+            </configuration>
+            <phase>process-sources</phase>
+            <goals>
+              <goal>apply</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    [...]
+  </build>
   [...]
-</build>
+</project>
 +---------
diff --git a/src/site/apt/examples/single.apt b/src/site/apt/examples/single.apt
index 0158f5f..f6b6c42 100644
--- a/src/site/apt/examples/single.apt
+++ b/src/site/apt/examples/single.apt
@@ -1,5 +1,5 @@
  ------
- Delete Additional Files Not Exposed to Maven
+ Patch a Single File
  ------
  John Casey
  Jesse McConnell
@@ -32,9 +32,11 @@
   The <<<maven-patch-plugin>>> can be configured to apply a single patch to a file as specified:
 
 +--------
-<build>
+<project>
   [...]
-
+  <build>
+    [...]
+    <plugins>
       <plugin>
         <artifactId>maven-patch-plugin</artifactId>
         <configuration>
@@ -52,6 +54,9 @@
           </execution>
         </executions>
       </plugin>
+    </plugins>
+    [...]
+  </build>
   [...]
-</build>
+</project>
 +---------
diff --git a/src/site/apt/faq.apt b/src/site/apt/faq.apt
index 8d6baa8..ce1cf47 100644
--- a/src/site/apt/faq.apt
+++ b/src/site/apt/faq.apt
@@ -33,7 +33,7 @@
 
   [[1]] {{{#1.} What would a patch plugin even be used for?}}
 
-  [[2]] {{{#2.} Why won't this work on windows?}}
+  [[2]] {{{#2.} Why won't this work on Windows?}}
   
   []
   
@@ -47,7 +47,7 @@
   allowed so to make alterations to the source you need some patch 
   application process.  This plugin seeks to address those situations.
    
-** {2.} Why won't this work on windows?
+** {2.} Why won't this work on Windows?
 
 ** Answer
 
@@ -55,6 +55,6 @@
   in order to function properly.  You might able to get this plugin working 
   within cygwin.
     
-  If you would like to add windows support to this plugin, please do and 
-  submit modifications through the normal project mechansims.
+  If you would like to add Windows support to this plugin, please do and 
+  submit modifications through the normal project mechanisms.
       
diff --git a/src/site/apt/index.apt b/src/site/apt/index.apt
index ad0912a..3d957af 100644
--- a/src/site/apt/index.apt
+++ b/src/site/apt/index.apt
@@ -1,5 +1,5 @@
  ------
- Maven Patch Plugin
+ Introduction
  ------
  John Casey
  Jesse McConnell
@@ -27,7 +27,7 @@
 ~~ NOTE: For help with the syntax of this file, see:
 ~~ http://maven.apache.org/guides/mini/guide-apt-format.html
 
-Overview
+Maven 2 Patch Plugin
 
   The patch plugin is used to apply patches to source files.
 
diff --git a/src/site/apt/usage.apt b/src/site/apt/usage.apt
index 5bbdc79..afcc345 100644
--- a/src/site/apt/usage.apt
+++ b/src/site/apt/usage.apt
@@ -27,15 +27,15 @@
 ~~ NOTE: For help with the syntax of this file, see:
 ~~ http://maven.apache.org/guides/mini/guide-apt-format.html
 
-Introduction
+Usage
 
   The maven-patch-plugin attempts to use the gnu patch tool to apply patch files
   to source code.  It can be configured to apply patch files from any number of 
   directories with a number of different policies including strict patching where 
-  you must declare all patchs in the plugin configuration to a natural order processing
+  you must declare all patches in the plugin configuration to a natural order processing
   which will apply all patching in a directory following a natural string sorted order.
 
-  This plugin is most commonly used during the process-sources phase of the maven lifecycle.
+  This plugin is most commonly used during the process-sources phase of the Maven lifecycle.
 
 +-----
   mvn process-sources
