diff --git a/Builds/VisualStudio2012/RippleD.vcxproj b/Builds/VisualStudio2012/RippleD.vcxproj
index 8900a704a..78533d76c 100644
--- a/Builds/VisualStudio2012/RippleD.vcxproj
+++ b/Builds/VisualStudio2012/RippleD.vcxproj
@@ -2102,6 +2102,7 @@
+
diff --git a/Builds/VisualStudio2012/RippleD.vcxproj.filters b/Builds/VisualStudio2012/RippleD.vcxproj.filters
index 69f2a24cc..9e6a6a3a2 100644
--- a/Builds/VisualStudio2012/RippleD.vcxproj.filters
+++ b/Builds/VisualStudio2012/RippleD.vcxproj.filters
@@ -2407,6 +2407,9 @@
[1] Ripple\peerfinder
+
+ [1] Ripple\testoverlay
+
diff --git a/src/ripple/testoverlay/README.md b/src/ripple/testoverlay/README.md
new file mode 100644
index 000000000..9b39fcb19
--- /dev/null
+++ b/src/ripple/testoverlay/README.md
@@ -0,0 +1,17 @@
+# TestOverlay
+
+This provides a set of template classes for simulating a peer to peer
+network. These facilities are provided:
+
+- Initial construction of the network.
+- Message passing between peers
+- Network wide state information.
+- Per-peer state information.
+
+## Description
+
+Through the use of suitable template arguments, the logic and state information
+for each peer can be customized. Messages are packets of arbitrary size with
+template-parameter defined data. The network is modeled discretely; The time
+evolution of the network is defined by successive steps where messages are
+always delivered reliably on the next step after which they are sent.