diff --git a/example.cpp b/example.cpp
new file mode 100644
index 0000000..3a0e1e0
--- /dev/null
+++ b/example.cpp
@@ -0,0 +1,125 @@
+#include <string>
+#include <ostream>
+#include <iostream>
+#include <string>
+#include "Instance.h"
+
+using std::cout;
+using std::cerr;
+using std::endl;
+using std::string;
+
+int main(int argc, char *argv[]) {
+    Ptr<Instance::Manager> manager = shippingInstanceManager();
+
+    if (manager == NULL) {
+        cerr << "Unexpected NULL manager." << endl;
+        return 1;
+    }
+
+    Ptr<Instance> stats = manager->instanceNew("myStats", "Stats");
+
+    if (stats == NULL) {
+        cerr << "Unexpected NULL stats." << endl;
+        return 1;
+    }
+
+    Ptr<Instance> fleet = manager->instanceNew("myFleet", "Fleet");
+
+    if (fleet == NULL) {
+        cerr << "Unexpected NULL." << endl;
+        return 1;
+    }
+
+    fleet->attributeIs("Boat, speed", "60");
+    fleet->attributeIs("Truck, capacity", "50");
+    fleet->attributeIs("Plane, cost", "20");
+    cout << "fleet->attribute('Boat, speed'): " << fleet->attribute("Boat, speed") << endl;
+
+    // --- Create instances
+    // -- Locations
+    // customers
+    Ptr<Instance> customer1 = manager->instanceNew("customer1", "Customer");
+    Ptr<Instance> customer2 = manager->instanceNew("customer2", "Customer");
+    // ports
+    Ptr<Instance> port1 = manager->instanceNew("port1", "Port");
+
+    if (customer1 == NULL || customer2 == NULL || port1 == NULL) {
+        cerr << "Unexpected NULL customer or port." << endl;
+	return 1;
+    }
+
+    // -- Segments
+    // boat
+    Ptr<Instance> boatSeg1 = manager->instanceNew("boatSeg1", "Boat segment");
+    Ptr<Instance> boatSeg2 = manager->instanceNew("boatSeg2", "Boat segment");
+    // truck
+    Ptr<Instance> truckSeg1 = manager->instanceNew("truckSeg1", "Truck segment");
+    Ptr<Instance> truckSeg2 = manager->instanceNew("truckSeg2", "Truck segment");
+
+    if (boatSeg1 == NULL || boatSeg2 == NULL || truckSeg1 == NULL || truckSeg2 == NULL) {
+        cerr << "Unexpected NULL segment." << endl;
+        return 1;
+    }
+
+    // connections
+    // customer1 <---> port1
+    truckSeg1->attributeIs("source", "customer1");
+    truckSeg2->attributeIs("source", "port1");
+    truckSeg1->attributeIs("return segment", "truckSeg2");
+    cout << "truckSeg1->attribute('source'): " << truckSeg1->attribute("source") << endl;
+
+    // customer2 <---> port1
+    boatSeg1->attributeIs("source", "customer2");
+    boatSeg2->attributeIs("source", "port1");
+    boatSeg1->attributeIs("return segment", "boatSeg2");
+    cout << "boatSeg1->attribute('return segment'): " << boatSeg1->attribute("return segment") << endl;
+
+    // -- Segment lengths
+    boatSeg1->attributeIs("length", "400");
+    boatSeg2->attributeIs("length", "400");
+    truckSeg1->attributeIs("length", "900");
+    truckSeg2->attributeIs("length", "900");
+
+    // -- Segment difficulties
+    boatSeg1->attributeIs("difficulty", "1");
+    boatSeg2->attributeIs("difficulty", "1");
+    truckSeg1->attributeIs("difficulty", "1");
+    truckSeg2->attributeIs("difficulty", "1");
+
+    // -- Segment expedite support
+    boatSeg1->attributeIs("expedite support", "yes");
+    boatSeg2->attributeIs("expedite support", "yes");
+    truckSeg1->attributeIs("expedite support", "yes");
+    truckSeg2->attributeIs("expedite support", "yes");
+
+    // -- Connectivity queries
+    Ptr<Instance> conn = manager->instanceNew("myConn", "Conn");
+
+    if (conn == NULL) {
+        cerr << "Unexpected NULL conn." << endl;
+        return 1;
+    }
+
+    cout << "**** explore customer1 : distance 1500 ****" << endl;
+    cout << conn->attribute("explore customer1 : distance 1500") << endl;
+    cout << endl;
+
+    cout << "*** connect customer2 : customer1 ****" << endl;
+    cout << conn->attribute("connect customer2 : customer1") << endl;
+    cout << endl;
+
+    // -- Statistics queries
+    cout << "===== Stats attributes =====" << endl;
+    cout << " --- Segments --- " << endl;
+    cout << "# Truck segments : " << stats->attribute("Truck segment") << endl;
+    cout << "Expediting %     : " << stats->attribute("expedite percentage") << endl;
+    cout << " --- Terminals --- " << endl;
+    cout << "# Plane terminals: " << stats->attribute("Plane terminal") << endl;
+    cout << " --- Ports and customers --- " << endl;
+    cout << "# Ports          : " << stats->attribute("Port") << endl;
+
+    cerr << "Done!" << endl;
+
+    return 0;
+}
diff --git a/example.out b/example.out
new file mode 100644
index 0000000..db7d779
--- /dev/null
+++ b/example.out
@@ -0,0 +1,19 @@
+fleet->attribute('Boat, speed'): 60.00
+truckSeg1->attribute('source'): customer1
+boatSeg1->attribute('return segment'): boatSeg2
+**** explore customer1 : distance 1500 ****
+customer1(truckSeg1:900.00:truckSeg2) port1
+customer1(truckSeg1:900.00:truckSeg2) port1(boatSeg2:400.00:boatSeg1) customer2
+
+*** connect customer2 : customer1 ****
+1300.00 906.67 no; customer2(boatSeg1:400.00:boatSeg2) port1(truckSeg2:900.00:truckSeg1) customer1
+1950.00 697.44 yes; customer2(boatSeg1:400.00:boatSeg2) port1(truckSeg2:900.00:truckSeg1) customer1
+
+===== Stats attributes =====
+ --- Segments ---
+# Truck segments : 2
+Expediting %     : 100.00
+ --- Terminals ---
+# Plane terminals: 0
+ --- Ports and customers ---
+# Ports          : 1
diff --git a/examples/example.cpp b/examples/example.cpp
deleted file mode 100644
index 3a0e1e0..0000000
--- a/examples/example.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-#include <string>
-#include <ostream>
-#include <iostream>
-#include <string>
-#include "Instance.h"
-
-using std::cout;
-using std::cerr;
-using std::endl;
-using std::string;
-
-int main(int argc, char *argv[]) {
-    Ptr<Instance::Manager> manager = shippingInstanceManager();
-
-    if (manager == NULL) {
-        cerr << "Unexpected NULL manager." << endl;
-        return 1;
-    }
-
-    Ptr<Instance> stats = manager->instanceNew("myStats", "Stats");
-
-    if (stats == NULL) {
-        cerr << "Unexpected NULL stats." << endl;
-        return 1;
-    }
-
-    Ptr<Instance> fleet = manager->instanceNew("myFleet", "Fleet");
-
-    if (fleet == NULL) {
-        cerr << "Unexpected NULL." << endl;
-        return 1;
-    }
-
-    fleet->attributeIs("Boat, speed", "60");
-    fleet->attributeIs("Truck, capacity", "50");
-    fleet->attributeIs("Plane, cost", "20");
-    cout << "fleet->attribute('Boat, speed'): " << fleet->attribute("Boat, speed") << endl;
-
-    // --- Create instances
-    // -- Locations
-    // customers
-    Ptr<Instance> customer1 = manager->instanceNew("customer1", "Customer");
-    Ptr<Instance> customer2 = manager->instanceNew("customer2", "Customer");
-    // ports
-    Ptr<Instance> port1 = manager->instanceNew("port1", "Port");
-
-    if (customer1 == NULL || customer2 == NULL || port1 == NULL) {
-        cerr << "Unexpected NULL customer or port." << endl;
-	return 1;
-    }
-
-    // -- Segments
-    // boat
-    Ptr<Instance> boatSeg1 = manager->instanceNew("boatSeg1", "Boat segment");
-    Ptr<Instance> boatSeg2 = manager->instanceNew("boatSeg2", "Boat segment");
-    // truck
-    Ptr<Instance> truckSeg1 = manager->instanceNew("truckSeg1", "Truck segment");
-    Ptr<Instance> truckSeg2 = manager->instanceNew("truckSeg2", "Truck segment");
-
-    if (boatSeg1 == NULL || boatSeg2 == NULL || truckSeg1 == NULL || truckSeg2 == NULL) {
-        cerr << "Unexpected NULL segment." << endl;
-        return 1;
-    }
-
-    // connections
-    // customer1 <---> port1
-    truckSeg1->attributeIs("source", "customer1");
-    truckSeg2->attributeIs("source", "port1");
-    truckSeg1->attributeIs("return segment", "truckSeg2");
-    cout << "truckSeg1->attribute('source'): " << truckSeg1->attribute("source") << endl;
-
-    // customer2 <---> port1
-    boatSeg1->attributeIs("source", "customer2");
-    boatSeg2->attributeIs("source", "port1");
-    boatSeg1->attributeIs("return segment", "boatSeg2");
-    cout << "boatSeg1->attribute('return segment'): " << boatSeg1->attribute("return segment") << endl;
-
-    // -- Segment lengths
-    boatSeg1->attributeIs("length", "400");
-    boatSeg2->attributeIs("length", "400");
-    truckSeg1->attributeIs("length", "900");
-    truckSeg2->attributeIs("length", "900");
-
-    // -- Segment difficulties
-    boatSeg1->attributeIs("difficulty", "1");
-    boatSeg2->attributeIs("difficulty", "1");
-    truckSeg1->attributeIs("difficulty", "1");
-    truckSeg2->attributeIs("difficulty", "1");
-
-    // -- Segment expedite support
-    boatSeg1->attributeIs("expedite support", "yes");
-    boatSeg2->attributeIs("expedite support", "yes");
-    truckSeg1->attributeIs("expedite support", "yes");
-    truckSeg2->attributeIs("expedite support", "yes");
-
-    // -- Connectivity queries
-    Ptr<Instance> conn = manager->instanceNew("myConn", "Conn");
-
-    if (conn == NULL) {
-        cerr << "Unexpected NULL conn." << endl;
-        return 1;
-    }
-
-    cout << "**** explore customer1 : distance 1500 ****" << endl;
-    cout << conn->attribute("explore customer1 : distance 1500") << endl;
-    cout << endl;
-
-    cout << "*** connect customer2 : customer1 ****" << endl;
-    cout << conn->attribute("connect customer2 : customer1") << endl;
-    cout << endl;
-
-    // -- Statistics queries
-    cout << "===== Stats attributes =====" << endl;
-    cout << " --- Segments --- " << endl;
-    cout << "# Truck segments : " << stats->attribute("Truck segment") << endl;
-    cout << "Expediting %     : " << stats->attribute("expedite percentage") << endl;
-    cout << " --- Terminals --- " << endl;
-    cout << "# Plane terminals: " << stats->attribute("Plane terminal") << endl;
-    cout << " --- Ports and customers --- " << endl;
-    cout << "# Ports          : " << stats->attribute("Port") << endl;
-
-    cerr << "Done!" << endl;
-
-    return 0;
-}
diff --git a/examples/example.out b/examples/example.out
deleted file mode 100644
index db7d779..0000000
--- a/examples/example.out
+++ /dev/null
@@ -1,19 +0,0 @@
-fleet->attribute('Boat, speed'): 60.00
-truckSeg1->attribute('source'): customer1
-boatSeg1->attribute('return segment'): boatSeg2
-**** explore customer1 : distance 1500 ****
-customer1(truckSeg1:900.00:truckSeg2) port1
-customer1(truckSeg1:900.00:truckSeg2) port1(boatSeg2:400.00:boatSeg1) customer2
-
-*** connect customer2 : customer1 ****
-1300.00 906.67 no; customer2(boatSeg1:400.00:boatSeg2) port1(truckSeg2:900.00:truckSeg1) customer1
-1950.00 697.44 yes; customer2(boatSeg1:400.00:boatSeg2) port1(truckSeg2:900.00:truckSeg1) customer1
-
-===== Stats attributes =====
- --- Segments ---
-# Truck segments : 2
-Expediting %     : 100.00
- --- Terminals ---
-# Plane terminals: 0
- --- Ports and customers ---
-# Ports          : 1
diff --git a/examples/test1.cpp b/examples/test1.cpp
deleted file mode 100644
index ef6e088..0000000
--- a/examples/test1.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-#include <string>
-#include <ostream>
-#include <iostream>
-#include "Instance.h"
-
-using std::cout;
-using std::cerr;
-using std::endl;
-
-static void badInstanceManager();
-static void badTruckTerminal();
-static void badTruckSegment();
-
-int main(int argc, char *argv[]) {
-    Ptr<Instance::Manager> manager = shippingInstanceManager();
-
-    if (manager == NULL) {
-        badInstanceManager();
-        return 1;
-    }
-
-    Ptr<Instance> a = manager->instanceNew("terminal1", "Truck terminal");
-
-    if (a == NULL) {
-        badTruckTerminal();
-        return 1;
-    }
-
-    Ptr<Instance> b = manager->instanceNew("seg1", "Truck segment");
-    Ptr<Instance> c = manager->instanceNew("seg2", "Truck segment");
-
-    if (b == NULL || c == NULL) {
-        badTruckSegment();
-	return 1;
-    }
-
-    b->attributeIs("source", "terminal1");
-    c->attributeIs("source", "terminal1");
-
-    cout << a->attribute("segment1") << endl;
-    cout << a->attribute("segment2") << endl;
-
-    cout << "Done!" << endl;
-
-    return 0;
-}
-
-static void badInstanceManager() {
-    cerr << "Unexpected Null pointer from shippingInstanceManager" << endl;
-}
-
-static void badTruckTerminal() {
-    cerr << "Unable to create terminal1" << endl;
-}
-
-static void badTruckSegment() {
-    cerr << "You need to update the "
-        "instanceNew() function to create all types " << endl <<
-        "of nodes and interfaces." << endl;
-}
diff --git a/test1.cpp b/test1.cpp
new file mode 100644
index 0000000..ef6e088
--- /dev/null
+++ b/test1.cpp
@@ -0,0 +1,60 @@
+#include <string>
+#include <ostream>
+#include <iostream>
+#include "Instance.h"
+
+using std::cout;
+using std::cerr;
+using std::endl;
+
+static void badInstanceManager();
+static void badTruckTerminal();
+static void badTruckSegment();
+
+int main(int argc, char *argv[]) {
+    Ptr<Instance::Manager> manager = shippingInstanceManager();
+
+    if (manager == NULL) {
+        badInstanceManager();
+        return 1;
+    }
+
+    Ptr<Instance> a = manager->instanceNew("terminal1", "Truck terminal");
+
+    if (a == NULL) {
+        badTruckTerminal();
+        return 1;
+    }
+
+    Ptr<Instance> b = manager->instanceNew("seg1", "Truck segment");
+    Ptr<Instance> c = manager->instanceNew("seg2", "Truck segment");
+
+    if (b == NULL || c == NULL) {
+        badTruckSegment();
+	return 1;
+    }
+
+    b->attributeIs("source", "terminal1");
+    c->attributeIs("source", "terminal1");
+
+    cout << a->attribute("segment1") << endl;
+    cout << a->attribute("segment2") << endl;
+
+    cout << "Done!" << endl;
+
+    return 0;
+}
+
+static void badInstanceManager() {
+    cerr << "Unexpected Null pointer from shippingInstanceManager" << endl;
+}
+
+static void badTruckTerminal() {
+    cerr << "Unable to create terminal1" << endl;
+}
+
+static void badTruckSegment() {
+    cerr << "You need to update the "
+        "instanceNew() function to create all types " << endl <<
+        "of nodes and interfaces." << endl;
+}
diff --git a/test1.o b/test1.o
new file mode 100644
index 0000000..4c0c356
Binary files /dev/null and b/test1.o differ
diff --git a/vs2012/.gitignore b/vs2012/.gitignore
new file mode 100644
index 0000000..bc7947b
--- /dev/null
+++ b/vs2012/.gitignore
@@ -0,0 +1,3 @@
+*
+
+!.gitignore
\ No newline at end of file
warning: LF will be replaced by CRLF in example.out.
The file will have its original line endings in your working directory.