Index: branches/egtra/ab5.0/jenga/include/MyAssert.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/MyAssert.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/MyAssert.h	(revision 818)
@@ -1,2 +1,4 @@
+#include <string>
+
 #pragma once
 
Index: branches/egtra/ab5.0/jenga/include/common/Binary.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/Binary.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/Binary.h	(revision 818)
@@ -1,2 +1,5 @@
+#include <boost/serialization/serialization.hpp>
+#include <boost/serialization/split_member.hpp>
+
 #pragma once
 
Index: branches/egtra/ab5.0/jenga/include/common/BoostSerializationSupport.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/BoostSerializationSupport.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/BoostSerializationSupport.h	(revision 818)
@@ -1,2 +1,5 @@
+#include <iosfwd>
+#include <string>
+
 #pragma once
 
Index: branches/egtra/ab5.0/jenga/include/common/CmdLine.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/CmdLine.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/CmdLine.h	(revision 818)
@@ -1,2 +1,4 @@
+#include <string>
+
 #pragma once
 
Index: branches/egtra/ab5.0/jenga/include/common/Directory.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/Directory.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/Directory.h	(revision 818)
@@ -1,2 +1,4 @@
+#include <string>
+
 #pragma once
 
Index: branches/egtra/ab5.0/jenga/include/common/EasyToken.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/EasyToken.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/EasyToken.h	(revision 818)
@@ -1,2 +1,4 @@
+#include <string>
+
 #pragma once
 
Index: branches/egtra/ab5.0/jenga/include/common/Environment.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/Environment.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/Environment.h	(revision 818)
@@ -1,2 +1,6 @@
+#include <string>
+#include <windows.h>
+#include <shlobj.h>
+
 #pragma once
 
Index: branches/egtra/ab5.0/jenga/include/common/Exception.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/Exception.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/Exception.h	(revision 818)
@@ -1,2 +1,4 @@
+#include <string>
+
 #pragma once
 
Index: branches/egtra/ab5.0/jenga/include/common/File.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/File.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/File.h	(revision 818)
@@ -1,2 +1,5 @@
+#include <string>
+#include <Windows.h>
+
 #pragma once
 
Index: branches/egtra/ab5.0/jenga/include/common/FileSystem.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/FileSystem.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/FileSystem.h	(revision 818)
@@ -1,2 +1,4 @@
+#include <string>
+
 #pragma once
 
Index: branches/egtra/ab5.0/jenga/include/common/Hashmap.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/Hashmap.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/Hashmap.h	(revision 818)
@@ -1,3 +1,3 @@
-#pragma once
+#include <stdexcept>
 #include <unordered_set>
 #include <boost/range/algorithm.hpp>
@@ -5,4 +5,9 @@
 #include <boost/iterator/transform_iterator.hpp>
 #include <boost/cast.hpp>
+#include <boost/serialization/serialization.hpp>
+#include <boost/serialization/split_member.hpp>
+
+#pragma once
+
 
 namespace Jenga{
Index: branches/egtra/ab5.0/jenga/include/common/Path.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/Path.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/Path.h	(revision 818)
@@ -1,2 +1,4 @@
+#include <string>
+
 #pragma once
 
Index: branches/egtra/ab5.0/jenga/include/common/String.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/String.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/String.h	(revision 818)
@@ -1,2 +1,5 @@
+#include <string>
+#include <vector>
+
 #pragma once
 
Index: branches/egtra/ab5.0/jenga/include/common/VectorSupporter.h
===================================================================
--- branches/egtra/ab5.0/jenga/include/common/VectorSupporter.h	(revision 816)
+++ branches/egtra/ab5.0/jenga/include/common/VectorSupporter.h	(revision 818)
@@ -7,12 +7,5 @@
 template<class T> void EraseVectorItem( T &v, int index )
 {
-	T::iterator it = v.begin();
-	int i = 0;
-	while( i < index )
-	{
-		i ++;
-		it ++;
-	}
-	v.erase( it );
+	v.erase(v.begin() + index);
 }
 
