diff --git a/GSoC2011Ideas.wiki b/GSoC2011Ideas.md
similarity index 83%
rename from GSoC2011Ideas.wiki
rename to GSoC2011Ideas.md
index 930d4b5..b2d9bd5 100644
--- a/GSoC2011Ideas.wiki
+++ b/GSoC2011Ideas.md
@@ -1,67 +1,70 @@
-#summary Ideas List for GSoC 2011
-#labels Importance-Deprecated,Contents-Draft
+# Introduction
 
-= Introduction =
-
- _We have been accepted as an organization for GSoC 2011.  You're invited to drop by at #melange on !FreeNode to discuss._
+> _We have been accepted as an organization for GSoC 2011.  You're invited to drop by at #melange on FreeNode to discuss._
 
 
-== [PossibleMentors Possible Mentors] ==
+## [Possible Mentors](PossibleMentors.md)
 These are, in order, the most likely or best mentors for this project idea.
 
-== Skills ==
+## Skills
 
   * All developers will need to have experience in, or be willing to learn Python.
   * Prior experience with Django or an equivalent framework would be a distinct plus.
   * Knowledge of JavaScript (AJAX), and a feeling for web design is big plus as well.
 
-== Difficulty==
+## Difficulty
 'Easy', 'Moderate' or 'Hard'.  Hard is not necessarily better!  We are risk averse!
 
-== Early Spinoffs ==
+## Early Spinoffs
 
 We want code that we can actually use, not code that shows great promise.  At the half way stage, you MUST have something complete that we can actually use as a 'spin off' of the work.  In discussing projects we will try to help you find ways to have spinoffs along the way.
 
 
-----
-= Idea Details =
-----
 
-=Better Google Code-in module=
+---
 
-===Description===
+# Idea Details
+
+---
+
+
+# Better Google Code-in module
+
+### Description
 
 Google launched a new program in 2010 to encourage high school students to contribute to open source. The program is called as Google Code-in(GCI). Melange has a GCI module. But from the experience of running GCI for the first time in 2010, we have learned that GCI module can improved in a lot of areas. Some of the areas (including ideas) where GCI can be improved are:
 
   * Queuing system for student claim requests
     * Student task claims should be placed in a queue. If the first student withdraws or if the claim is rejected, next student should be advanced in the queue for claim request.
     * Mechanism to lock down the student to the task once the claim request is accepted rather than the current mechanism of locking the student as soon as she requests a task.
-  * Allow one touch subscriptions (see issue 560 in our issue tracker.)
+  * Allow one touch subscriptions (see issue 560 (on Google Code) in our issue tracker.)
   * Use channel APIs for notifications to give unobtrusive on-site live notifications.
   * Store task history. There is already a support for storing history. It needs to be reworked a lot and get it to working. We should be able to query on this data.
   * Publicly visible statistics for Google Code-in
   * Multiple file upload support for tasks
   * Upload files asynchronously (there is jQuery plugin for it. It needs to integrated with Melange.)
 
-===Skills===
+### Skills
 
   * Python
   * Django
   * Appengine
   * Basics of jQuery and CSS
 
-===Difficulty===
+### Difficulty
 
 Moderate
 
-===Mentors ===
+### Mentors
 
   * Madhusudan C.S. (madrazr on #Melange)
 
-----
-=Google Code-in with new architecture=
 
-===Description===
+---
+
+# Google Code-in with new architecture
+
+### Description
 
 Melange is undergoing a major rewrite. The views layer is being rewritten. The UI is getting changed. We would like to follow the suite for the GCI module too.
 
@@ -73,7 +76,7 @@
   * Data Seeder for GCI. There is already a data seeder for GSoC which is being integrated with Melange now. This needs to be extended to GCI too.
   * Tests for GCI.
 
-===Skills===
+### Skills
 
   * Python
   * Django
@@ -81,26 +84,28 @@
   * Basics of jQuery and CSS
   * Basic knowledge of Principles of UX Design
 
-===Difficulty===
+### Difficulty
 
 Moderate
 
-===Mentors ===
+### Mentors
 
   * Madhusudan C.S. (madrazr on #Melange)
   * Leo (Chong Liu)
 
-----
-=Melange/GSoC Administration Interface=
 
-===Description===
+---
+
+# Melange/GSoC Administration Interface
+
+### Description
 Now that Melange is undergoing a big makeover we are in need of a proper administration backend to make the life of the Open Source Programs Office easier.
 
 During your project you would need to gather requirements from the people who work with Melange at a day-to-day basis and if need be show them your work on a regular basis so that details can be refined. At the end of GSoC we would like to see an interface that allows them to run day-to-day operations such as finding/editing data on participants, editing settings of a program and being able to export a wide range of data.
 
 If you are planning on sending us an application for this project we would like to see a suggestion of how the interface might be integrated in Melange but most importantly how you will approach the requirements elicitation and feedback process.
 
-===Skills===
+### Skills
 
   * Python
   * Django
@@ -108,65 +113,71 @@
   * Basic knowledge of Principles of UX Design
   * Requirements gathering
 
-===Difficulty===
+### Difficulty
 
 Moderate
 
-===Mentors ===
+### Mentors
 
   * None known yet.
-----
-=Integration with external API's=
 
-===Description===
+---
+
+# Integration with external API's
+
+### Description
 
 We would like to be able to export lists as well as Melange documents to Google Docs using the Docs APIs. This would involve using OAuth to get an auth token from the user, and then using the Google Data APIs to create a new document of the appropriate type.
 
 Could also include integration with other services, such as the Email and XMMP api.
 
-===Skills===
+### Skills
 
   * Python
   * Google APIs
 
-===Difficulty===
+### Difficulty
 
 Easy
 
-===Mentors ===
+### Mentors
 
   * Sverre
   * Mario Ferraro
   * Daniel Hans
 
-----
 
-=Testing, Code Guru, Code Quality Assurance=
+---
 
-===Description===
+
+# Testing, Code Guru, Code Quality Assurance
+
+### Description
 
 Melange is sorely lacking tests, and it's hurting our development speed significantly. 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 ===
+### Mentors
 
- * Leo (Chong Liu)
- * Sverre Rabbelier (SRabbelier on #Melange)
+  * Leo (Chong Liu)
+  * Sverre Rabbelier (SRabbelier on #Melange)
 
-----
 
-= Other ideas =
+---
+
+
+# Other ideas
 
   * integrate OpenSocial into Melange
   * add functional tests using twill
@@ -191,7 +202,7 @@
   * Better geo location features
   * Nice upload of profile photo with crop functionality via JS library.
 
-= 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
