diff --git a/GSoC2012Ideas.wiki b/GSoC2012Ideas.md
similarity index 70%
rename from GSoC2012Ideas.wiki
rename to GSoC2012Ideas.md
index 4b02b83..90e6a96 100644
--- a/GSoC2012Ideas.wiki
+++ b/GSoC2012Ideas.md
@@ -1,45 +1,42 @@
-#summary Ideas List for GSoC 2012
-#labels Importance-Deprecated
+# Introduction
 
-= Introduction =
+> _We have been selected as a participating organization for GSoC 2012.  You're invited to drop by at #melange on FreeNode to discuss._
 
- _We have been selected as a participating organization for GSoC 2012.  You're invited to drop by at #melange on !FreeNode to discuss._
+We would like our prospective students to propose new project ideas and discuss with Melange developers either here(in comments), #melange or our mailing list melange-soc-dev@googlegroups.com.
 
-We would like our prospective students to propose new project ideas and discuss with Melange developers either here(in comments), #melange or our mailing list melange-soc-dev@googlegroups.com. 
+Every student is encouraged to clone our <a href='http://code.google.com/p/soc/source/checkout'>git repository</a>, solve <a href='http://code.google.com/p/soc/issues/list'>issues</a> and submit patches as part of the application process. <a href='http://code.google.com/p/soc/wiki/GettingStarted'>Here</a> is our getting started guide.
 
-Every student is encouraged to clone our <a href="http://code.google.com/p/soc/source/checkout>git repository</a>, solve <a href="http://code.google.com/p/soc/issues/list">issues</a> and submit patches as part of the application process. <a href="http://code.google.com/p/soc/wiki/GettingStarted">Here</a> is our getting started guide.
+**ANY ORIGINAL IDEA WOULD BE VERY MUCH APPRECIATED :)**
 
-*ANY ORIGINAL IDEA WOULD BE VERY MUCH APPRECIATED :)*
+# Project Ideas
 
-=Project Ideas=
+## Testing, Code Guru, Code Quality Assurance
 
-==Testing, Code Guru, Code Quality Assurance==
-
-===Description===
+### Description
 
 Melange has some decent tests, but we can do better. What we need is a extensive set of unit tests for our logic and views, as well as functional tests to make sure that all views work as expected. This will require learning the codebase first, so as to know what something should do. Test-based exploring would be most suitable (learning how the codebase by writing tests that confirm that things work a certain way). We want test coverage such that it is possible to refactor a core function without doing any manual testing, and still be fairly certain that everything works as expected. On top of that, we want to be able to start doing TDD, which is a lot easier if there are a lot of tests already. All developers will be asked to include tests with their changes as soon as we start doing TDD, so once the momentum picks up things should get easier.
 
 A lower priority, that can be pursued once we have decent test coverage, is to make sure that all pylint errors are fixed, and that all warnings are fixed or suppressed as appropriate. This way we can require that each commit introduces no new pylint errors, which will ensure some level of code quality.
 
-===Skills===
+### Skills
 
   * Python
   * Django
   * Testing
 
-===Difficulty===
+### Difficulty
 
 Moderate, but requires a lot of effort
 
-===Mentors ===
-* Still need to be confirmed, left this idea here as an example *
+### Mentors
+**Still need to be confirmed, left this idea here as an example**
 
- * Leo (Chong Liu)
- * Sverre Rabbelier (SRabbelier on #Melange)
+  * Leo (Chong Liu)
+  * Sverre Rabbelier (SRabbelier on #Melange)
 
-==New invitation/request module==
+## New invitation/request module
 
-===Description===
+### Description
 Currently there is a feature to invite new mentors/admins by organization admins. People, who want to become mentors, may also request that role from organizations. The code is not perfect, so we are looking for a student to implement a new module that is better and does not have any limitations the current one have.
 
 The project requires both server and client side work. From the backend perspective, new datastore design is needed. The current code has to be rewritten so that it is much clearer and completely thread-safe. For some current drawbacks you can search for the related issues in our issue tracker.
@@ -56,16 +53,16 @@
 
 The first task of an accepted student will be to determine under what circumstances role changes should be allowed. Then new functionality should be implemented.
 
-===Difficulty===
+### Difficulty
 Easy or Moderate
 In order to successfully complete the project, the new modules have to be integrated before end of the program.
 There is probably not enough work for a returning Melange student, so we would prefer to accept a rookie.
 
-===Mentors===
- * Daniel Hans
+### Mentors
+  * Daniel Hans
 
 
-= Some Rough Notes =
+# Some Rough Notes
 
-   * Did we mention that we have an active IRC channel, #melange?
-   * Some words for you, to inspire more ideas: *[http://code.google.com/p/soc/wiki/TestingGuidelines Automated Testing]*, *World Domination* (ask), *Access Control Module*, *Profiling*, *Log Analysis*, *[http://code.google.com/p/soc/issues/list?can=2&q=&sort=-id Issue Tracker]*, *[http://code.google.com/p/soc/wiki/AccessControl Security]*, *Optimization(s)*, *Mentor Summit*, *Wiki*.
\ No newline at end of file
+  * Did we mention that we have an active IRC channel, #melange?
+  * Some words for you, to inspire more ideas: **[Automated Testing](http://code.google.com/p/soc/wiki/TestingGuidelines)**, **World Domination** (ask), **Access Control Module**, **Profiling**, **Log Analysis**, **[Issue Tracker](http://code.google.com/p/soc/issues/list?can=2&q=&sort=-id)**, **[Security](http://code.google.com/p/soc/wiki/AccessControl)**, **Optimization(s)**, **Mentor Summit**, **Wiki**.
\ No newline at end of file
