diff --git a/SocialFeaturesMelangeGSoC2010.wiki b/SocialFeaturesMelangeGSoC2010.wiki
index e122871..37821a5 100644
--- a/SocialFeaturesMelangeGSoC2010.wiki
+++ b/SocialFeaturesMelangeGSoC2010.wiki
@@ -79,6 +79,7 @@
   * project_details – *ListProperty*
   * feed_url - *LinkProperty*
   * user_page_status - *StringProperty*
+  * tags - *StringProperty* (for filtering in maps+calendars searches)
 
 
 Properties of education.py
@@ -155,7 +156,73 @@
 
 == Main Feature 2: Maps + Calendars for GSoC ==
 
+===Overview===
+This feature consists of two main components. The *Calendars* and *My Community* components. These two components will appear in the sidebar in the User section.
 
+The My Community tab will provide a portal for users to explore all the participants of
+ the program by different categories such as location, organization, project tags etc.
+ Users can can get to know their fellow participants by visiting their user page.
+
+The My Community section also allows user to explore community events by location, organization and tags. Non-admin users can also request to add a new event to the calendar by sending "Add Event" requests to their respective admins with the event details.
+
+The My Community tab provides two views for the above-mentioned activities, a simply list view and a global map view(default).
+
+The Calendars component is used to view only the events such as GSoC meetups, irc meetings, conferences and other related events which might be of interest to the community members. Each user can view the public program calendar and the private organization calendar which is owned by the organization admin and is viewable only by users associated with that organization.
+
+
+===Workflow===
+
+*My Community*
+
+Workflow for all Users: 
+    
+    * When users click on 'My Community' in the sidebar, under the 'User' tab, they will be redirected to the _MapView_ which is the default view. Here, they will see a world map which they can manipulate to show either *users or events*.
+    * In the _MapView_
+         # Once users or events are selected, the map can be further manipulated to show the data based on location, organization and tags(i.e. C#, PHP, Django etc).
+            # If users are selected: The map will point to all user locations based on the filters selected. A mouse-over on a particular user, will show a link to user profile, which can be clicked to be directed to the user page.
+            # If events are selected: The workflow is same as users, except that events are shown on the map. The users can mouse-over and click on a particular event to view the details as a pop-up widget.
+    * In the _ListView_
+         # Once users or events are selected, the same filters as above can be applied, except the data will be shown in a text-based list format. Clicking on any row in the list, will lead to the corresponding user page or the pop-up event widget respectively.
+
+*Calendars*
+
+Workflow for Users:
+
+    * Click on 'Calendars' under the User tab in the sidebar. They view a single calendar containing events in the Program calendar as well as the events in their organization calendar. (Organization admins are owners of their respective org calendars.)
+    * From this point onwards, users may choose any of the following:
+       * *For Admins* Add a new event by clicking on the 'Add Event' button, which will take them to a form where they can fill in the event details and it will be shown on the org calendar.
+       * *For Admins* They can choose to approve or decline requests sent by other users to publish events in their calendar by clicking on the 'Requests' button. They will be redirected to a page showing a list of event requests. After inspecting the event details, they can approve or decline the events.
+       * *For Non-Admins* User can choose to request to add a new event by clicking on the  'Request Add Event' button. They will be redirected to a similar form as the admins 'Add Event' function. They can submit it and this event will be shown on the respective org or program calendar after it is approved by the respective admin.
+       * View user's org events only.
+       * View Program events only.
+ 
+===Data Models===
+
+Currently, the additional data model required here is for the event objects. 
+
+_soc.modules.social.models.event.py_
+
+Properties of for event.py
+  * owner - *ReferenceProperty*
+  * event_name - *StringProperty*
+  * description – *StringProperty*
+  * location – *StrinkProperty*
+  * is_org_event – *BooleanProperty*
+  * organization - *ReferenceProperty*
+  * status - *StringProperty*
+  * time - *DateTimeProperty*
+
+An event can only be published in one calendar(i.e. program calendar or org calendar). If is_org_event is true, then it will be published in the current user's org calendar, if is_org_event is set to false, then the event will be published in the program calendar.
+These two status properties differentiate the program admin and the org admins.
+
+Based on the calendar(org or program) in which the event is meant to be published, the status property is set to either of the three values.
+
+  * *is_requested* : If the current user is not the owner of the calendar where the event is to be published, then this state is set by default. When it is approved by the owner, this is set to is_approved.
+  * *is_approved* : If the current user is the owner of the calendar where the event is to be published, then this state is set by default. Else if the event is approved by the owner, this state is set for the event.
+  * *is_declined* : If the calendar owner chooses to decline an event request this state is set.
+
+
+===Views, Templates & Logic===
 
 
 == Use-Case Diagrams ==
@@ -173,7 +240,7 @@
 
 *Calendars*
 
-http://www.comp.nus.edu.sg/~savitha/gsoc/calendars_usecase.png
+http://www.comp.nus.edu.sg/~savitha/gsoc/calendars_usecase1.png
 
 = Specification & Requirements =
   The detailed project specification will be added and updated here.  
