diff --git a/Terminology.md b/Terminology.md
new file mode 100644
index 0000000..991ab9e
--- /dev/null
+++ b/Terminology.md
@@ -0,0 +1,19 @@
+_..this is so that we can speak/understand the same language..._
+
+  * **Site Administrator:** (now known as 'Developer' in Melange).  The all powerful one who initially set up a Melange site.
+  * **Sponsor:** _Example - Google_.  "It is not expected that very many Sponsor organizations will be created for a running Melange site, often only one."
+  * **Host:** _Example - LH_.  Hosts sign up as regular users and are later promoted/blessed/anointed to being hosts either by the site administrator or by another host.
+  * **Program:** _Examples - GsoC-2008 or GHOP-2008_.  A program is an individual instance. We’re NOT calling a generic 'GSoC' or 'GHOP' a program, but are qualifying by which one, i.e. which year.
+
+  * **Quiz:** (was 'Questionnaire') _Example - the mid term mentor survey_.  A set of questions created by an author.  A quiz has a target audience, e.g. mentors, students.  Creating a new quiz automatically creates a new questions-page and answers-summary page.  The quiz mechanism will be used in multiple places, e.g. it's also used for terms of service.  See QuestionnairePages.
+
+  * **Club:** _Example - Apache, GSoCers from Poland, Documentators_. A Club is a generic type of Group that gathers Members into a community. This is a group that is going to be used in social networking related Melange features. Club can gather Members and later apply to become an Organization for a particular Program.
+
+# The difference between a User and a Person:
+
+**Explanation** (from MelangeIrcLogs): User is unique for each Google Account.  Person is not.  There is a Person (with things like shipping address, public email address, etc.) for each Role that a User can have on the site.  User is some very harmless "nickname" and "linkname" (used in URLs) info attached to a User (Google Account).  User is site-wide.   Person is per-Program (per-year) and per-Role.   So, User is supposed to be minimal and not contain time-sensitive data.
+
+
+# Google Account, id and User
+
+  * A Google Account is referred to, at least in code, as an "id".  This change was made to avoid confusion between the App Engine users.User and our User Model.
\ No newline at end of file
diff --git a/Terminology.wiki b/Terminology.wiki
deleted file mode 100644
index 2e5152f..0000000
--- a/Terminology.wiki
+++ /dev/null
@@ -1,22 +0,0 @@
-#summary An intro to some of the vocab of Melange
-#labels Importance-Useful,Contents-Draft
-
-_..this is so that we can speak/understand the same language..._
-
-  * *Site Administrator:* (now known as 'Developer' in Melange).  The all powerful one who initially set up a Melange site.   
-  * *Sponsor:* _Example - Google_.  "It is not expected that very many Sponsor organizations will be created for a running Melange site, often only one."
-  * *Host:* _Example - LH_.  Hosts sign up as regular users and are later promoted/blessed/anointed to being hosts either by the site administrator or by another host.
-  * *Program:* _Examples - GsoC-2008 or GHOP-2008_.  A program is an individual instance. We’re NOT calling a generic 'GSoC' or 'GHOP' a program, but are qualifying by which one, i.e. which year.
-
-  * *Quiz:* (was 'Questionnaire') _Example - the mid term mentor survey_.  A set of questions created by an author.  A quiz has a target audience, e.g. mentors, students.  Creating a new quiz automatically creates a new questions-page and answers-summary page.  The quiz mechanism will be used in multiple places, e.g. it's also used for terms of service.  See QuestionnairePages.
-
-  * *Club:* _Example - Apache, GSoCers from Poland, Documentators_. A Club is a generic type of Group that gathers Members into a community. This is a group that is going to be used in social networking related Melange features. Club can gather Members and later apply to become an Organization for a particular Program.   
-
-=The difference between a User and a Person:=
-
-*Explanation* (from MelangeIrcLogs): User is unique for each Google Account.  Person is not.  There is a Person (with things like shipping address, public email address, etc.) for each Role that a User can have on the site.  User is some very harmless "nickname" and "linkname" (used in URLs) info attached to a User (Google Account).  User is site-wide.   Person is per-Program (per-year) and per-Role.   So, User is supposed to be minimal and not contain time-sensitive data.
-
-
-=Google Account, id and User=
-
-  * A Google Account is referred to, at least in code, as an "id".  This change was made to avoid confusion between the App Engine users.User and our User Model.
\ No newline at end of file
