diff --git a/monad.cpp b/monad.cpp
index cd848d08919dd53152113f51abff6d5229be5819..81fe55bc91a752d112134fab9688ac454003b953 100755
--- a/monad.cpp
+++ b/monad.cpp
@@ -24,7 +24,6 @@ namespace monad
 {
 void find_base_dir(const char * argv0);
 void printHelp();
-void printInfo();
 void processArgs(int argc, char ** argv);
 void copyRequiredFiles();
 void getLibs(const vector<string> & libs);
@@ -57,12 +56,6 @@ bool optimize = false;
 #endif
 }
 
-namespace version {
-const char * official_name = "CS 225 Monad";
-const char * version_name  = "awakening";
-const char * date          = "15 July 2011";
-}
-
 }
 
 string kyleGetDate() {
@@ -311,18 +304,6 @@ void monad::printHelp()
 
 }
 
-void monad::printInfo()
-{
-	cout << version::official_name << endl
-	     << "Version " << version::version_name << endl
-		 << "Released " << version::date << endl
-	     << "Developed by Jack Toole Spring/Fall 2011" << endl
-	     << "Copyright 2011 Jack Toole" << endl
-	     << "Full rights granted to Jack Toole. Rights to use and modify granted to" << endl
-	     << "University of Illinois Urbana-Champaign Computer Science Data Structures" << endl
-	     << "instructors and course staff" << endl;
-}
-
 
 void monad::copyRequiredFiles()
 {
diff --git a/monad_shared.cpp b/monad_shared.cpp
index 7fe7d2f134d8e61a82fd5a9c49646c27972ec395..6a853b2d013cfe846241b1652d3a6f2e5800ac7e 100755
--- a/monad_shared.cpp
+++ b/monad_shared.cpp
@@ -10,8 +10,29 @@ using std::endl;
 
 namespace monad_shared
 {
+
+namespace version
+{
+const char * official_name = "CS 225 Monad";
+const char * version_name  = "awakening";
+const char * date          = "15 July 2011";
+}
+
 const char * unit_test::pass_string = "~~PASSED~~";
 
+void printInfo()
+{
+	cout << version::official_name << endl
+	     << "Version " << version::version_name << endl
+		 << "Released " << version::date << endl
+	     << "Developed by Jack Toole Spring/Fall 2011" << endl
+	     << "Copyright 2011 Jack Toole" << endl
+	     << "Full rights granted to Jack Toole. Rights to use and modify granted to" << endl
+	     << "University of Illinois Urbana-Champaign Computer Science Data Structures" << endl
+	     << "instructors and course staff" << endl;
+}
+
+
 namespace output
 {
 
@@ -114,7 +135,6 @@ void detailed_info(const unit_test & curr_test)
 	cout << endl;
 }
 
-
 } // namespace output
 } // namespace monad_shared
 
diff --git a/monad_shared.h b/monad_shared.h
index b1136ccf0eb9c5195f69cb5031ee285aef9e7e29..d2c09800f1848a4bb8bfc55f4f0e8bf570040be7 100755
--- a/monad_shared.h
+++ b/monad_shared.h
@@ -6,6 +6,16 @@
 
 namespace monad_shared
 {
+
+	namespace version
+	{
+		extern const char * official_name;
+		extern const char * version_name;
+		extern const char * date;
+	}
+
+	void printInfo();
+
 	struct unit_test
 	{
 		typedef std::string return_type;
diff --git a/proxy.cpp b/proxy.cpp
index f8e619cf9aeb05e56bbf21dce6ac1638d87b5da0..8659a2442cc5418559c839be6d5b2dbc305a44dc 100755
--- a/proxy.cpp
+++ b/proxy.cpp
@@ -671,18 +671,6 @@ long UnitTestContainer::end_timeout()
 }
 
 
-void RunTests::printInfo()
-{
-	cout << "CS 225 RunTests" << endl
-	     << "Version 1.0 : 2 February 2011" << endl
-	     << "Developed by Jack Toole Spring 2011" << endl
-	     << "Copyright 2011 Jack Toole" << endl
-	     << "Full rights granted to Jack Toole. Rights to use and modify granted to" << endl
-	     << "University of Illinois Urbana-Champaign Computer Science Data Structures" << endl
-	     << "instructors and course staff" << endl;
-}
-
-
 
 UnitTestContainer::UnitTestContainer(unit_test & _test, RunTimeEnvironment & env)
 	: environment(env), test(_test) { }
diff --git a/proxy.h b/proxy.h
index 965184cf3da4c16a93447e7b0c9e2184b670de92..31e535287e0ef99f6d0982f0f14171351d277c46 100755
--- a/proxy.h
+++ b/proxy.h
@@ -91,7 +91,6 @@ namespace proxy
 		private:
 		void redirect_glibc_to_stderr();
 		void process_args(int argc, char ** argv);
-		void printInfo();
 
 		protected:
 		int32_t execute_by_mode();