diff --git a/MelangePlan0310.wiki b/MelangePlan0310.wiki
index 1d75a0e..3893901 100644
--- a/MelangePlan0310.wiki
+++ b/MelangePlan0310.wiki
@@ -1,5 +1,5 @@
 #summary Plan for Q3-Q4 '10
-#labels Contents-Skeleton
+#labels Contents-Draft
 = Main Improvements, Features and Fixes for Q3-Q4 '10 =
 
 *Under Construction, just a copy of Q1-Q2*
@@ -40,7 +40,6 @@
 
 
 || *Short Name* || *Description* || *Schelduled* || *Priority* || *Primary Contributors* ||
-||Make GradingSurveyGroup available to Hosts||Add the GradingSurveyGroup pages to the menu structure and ensure that Hosts are able to view them correctly.||July 1, 2010||Medium||Lennard de Rijk||
 ||Improve the navigational structure||The current sidebar has grown over the last year to become a huge list. New (realistic) ideas are welcome on how to improve the navigational structure to accommodate for the large functionality we offer.||Discussion Topic||Medium||||
 ||Internal User ID as a reference||Currently, we use email address as user ID, but then if that changes we don't have a correct reference to the user anymore and we have to fix things manually. This means to update current user models in the datastore and changing the current calls to getUserForCurrentAccount to work with the ID|| ||Medium||||
 ||Per Org URL for Applying||The current StudentApplication uses the student as scope. This gives non-shareable URL’s for organizations to apply on. Unless changing the datamodel to become based around Orgs becomes viable for GSoC10 (a lot of dependencies with access and accepting/rejecting applications), a good solution would also be to introduce a URL that is not user-dependent but Organization dependent.|| ||Low|| ||
