diff --git a/InformationArchitecture.wiki b/InformationArchitecture.md
similarity index 91%
rename from InformationArchitecture.wiki
rename to InformationArchitecture.md
index 40f4aae..f8eef78 100644
--- a/InformationArchitecture.wiki
+++ b/InformationArchitecture.md
@@ -1,36 +1,33 @@
-#summary One-sentence summary of this page.
-#labels 2013DeveloperDoc
-
-= Introduction =
+# Introduction
 
 Document describing how information is stored and managed on Melange. It describes the relationships between the data entities and how those entities are transformed into UI elements.
 
-= Details =
+# Details
 
-== Data model architecture ==
+## Data model architecture
 
-=== Jargon ===
+### Jargon
 
   * Model - Structural and relational definition of the data.
   * Entity - An instance of the data model which is stored.
 
-=== User Information ===
+### User Information
 
   * User model stores the user's public name, the Google account with which the user signed up for Melange and the user's link id.
   * Profile information is stored in the Profile (GSoCProfile and GCIProfile) models which are in turn inherited from Role model. The user entity of the user to whom profile belongs to serves as the parent of the profile entity. GSoCStudentInfo and GCIStudentInfo models store student specific information such as school name, project and proposal counts in GSoC, completed tasks count in GCI and so on. Corresponding profile models are the parents of the StudentInfo models. Both the Profile models and StudentInfo models contain user supplied information as well as derived properties.
 
 
-=== Program Information ===
+### Program Information
 
   * The program models(GSoCProgram and GCIProgram) store the settings such as total number of slots available, age restrictions for participants, program's current visibility that are related to the entire program.
   * The timeline (GCITimeline and GSoCTimeline) models store the program's timeline. However the timeline corresponding to the surveys such as organization application and mentor and student midterm and final evaluations are stored as part of the corresponding surveys outside these timeline models. There exists a 1:1 relationship between the program model and the timeline model. Program model references the timeline model through "timeline" reference property and timeline model references program model through "scope" reference property.
   * The program messages (GSoCProgramMessage and GCIProgramMessage) models store the message bodies of the emails that are sent by hosts to different various participants. Message models are descendents of program models.
 
-=== Organization Information ===
+### Organization Information
 
   * The organization (GSoCOrganization and GCIOrganization) models store both the information pertaining to the organization that are publicly visible such as organization name, contact details etc. and organization specific settings such as their GSoC proposal scoring scale, accepted and rejected student messages in GSoC. These models also store some derived information such as the number of mentors assigned to proposals, slots allocated and so on.
 
-=== Proposals and Projects ===
+### Proposals and Projects
 
   * The StudentProposal model stores the content of the proposal submitted by the student, mentors who wish to mentor the proposal, the mentors assigned to the proposal, etc.
   * The GSoCComment model stores the proposal review comments.
