diff --git a/GSoC2011IntegrationWithExternalAPIs.wiki b/GSoC2011IntegrationWithExternalAPIs.wiki
index 9ffbcbb..409e678 100644
--- a/GSoC2011IntegrationWithExternalAPIs.wiki
+++ b/GSoC2011IntegrationWithExternalAPIs.wiki
@@ -1,5 +1,7 @@
-#labels gsoc2011,externalapisproject
-# tracks progress for the integration with external apis project.
+#summary tracks progress for the "integration with external apis" project.
+#labels Phase-Requirements
+
+<wiki:toc max_depth="3" />
 
 = 1. Introduction =
 
@@ -8,16 +10,16 @@
 
 = 2. Requirements =
 == 2.1 Melange Lists ==
-===2.1.1 Overview===
+===Overview===
 Basically an export button for each lists on Melange that triggers an export mechanism to Google SpreadSheets. (including OAuth roundtrip, access token storing on datastore)
-===2.1.2 Problems & Solutions===
+===Problems & Solutions===
  * *Problem:* exporting a JavaScript list
  * *Solution:* 
 
 == 2.2 Student Proposals ==
-=== 2.2.1 Overview ===
+===Overview ===
 Students will be able to edit their proposals through tinyMCE editor or link to a Google Document file. There will be a "Sync Now" button to syncronize proposal that Melage holds with actual Google Documents file.
-=== 2.2.2 Problems & Solutions ===
+===Problems & Solutions ===
  * *Problem:* Student may not be awere that proposal is syncronised only when he/she clicks "Sync Now" button.
  * *Solution1:* Give responsibility to student.
  * *Solution2:* Sync proposal with stored ACL. Check for single revisions and get the closest revision to deadline.
@@ -26,8 +28,8 @@
  * *Solution:* 
 ----
 
-= Design & Terminology = 
-== Resource ==
+= 3. Design & Terminology = 
+== 3.1 Resource ==
 
 Resource is a document or file that is exported to GDocs and being kept track of. When Melange exports a document to GDocs it will store returned document ID from Google Documents API. This document should be associated with user for whom resource exported for, and with a unique key that tells where the resource exported from. This shows the basic structure of Resource class:
 
@@ -50,4 +52,22 @@
                                required=True,
                                collection_name='exported_documents',
                                verbose_name=ugettext('Owner'))
-}}}
\ No newline at end of file
+}}}
+----
+=4. Meeting Notes & Agendas =
+== Monday, May 16 18:30:00 in UTC (Skype Conference)==
+=== TODOs ===
+ * Create the blogpost summarizing last week today.
+ * Have a call with your mentor this week, most of us are in PDT time zone.
+ * Put a link to your GAE instance on the wiki page (and blog if possible)
+ * Don't forget to make your next blogpost before the next meeting.
+ * Get ready to start coding!
+
+== Tuesday, May 20 20:00:00 in UTC (GTalk with Mario) ==
+
+Mario delivered me notes for my project from discussion with Melange team.
+===TODOS:===
+ * Update project requirements
+ * Start working on exporting a html document from Google Documents and integrating with Melange.
+ * Come up with a timeline. Designate deliverables.
+ * Focus on the main problems instead of thinking whole project or other stuff that is already known how to handle.
