diff --git a/features/hotlistpeople.py b/features/hotlistpeople.py
index c574469..7bac917 100644
--- a/features/hotlistpeople.py
+++ b/features/hotlistpeople.py
@@ -1,7 +1,6 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file or at
-# https://developers.google.com/open-source/licenses/bsd
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
 
 """Classes to implement the hotlistpeople page and related forms."""
 from __future__ import print_function
@@ -16,7 +15,6 @@
 from features import hotlist_helpers
 from features import hotlist_views
 from framework import framework_helpers
-from framework import flaskservlet
 from framework import framework_views
 from framework import paginate
 from framework import permissions
@@ -31,7 +29,7 @@
   _PAGE_TEMPLATE = 'project/people-list-page.ezt'
   # Note: using the project's peoplelist page template. minor edits were
   # to make it compatible with HotlistPeopleList
-  _MAIN_TAB_MODE = flaskservlet.FlaskServlet.HOTLIST_TAB_PEOPLE
+  _MAIN_TAB_MODE = servlet.Servlet.HOTLIST_TAB_PEOPLE
 
   def AssertBasePermission(self, mr):
     super(HotlistPeopleList, self).AssertBasePermission(mr)
@@ -219,9 +217,7 @@
 
   def ProcessRemoveMembers(self, mr, post_data, hotlist_url):
     """Process the user's request to remove members."""
-    #TODO: convert for flask
-    #remove_strs = post_data.getlist('remove')
-    remove_strs = post_data.getall('remove')
+    remove_strs = post_data.getlist('remove')
     logging.info('remove_strs = %r', remove_strs)
     remove_ids = set(
         self.services.user.LookupUserIDs(mr.cnxn, remove_strs).values())
@@ -254,8 +250,8 @@
               hotlist_url, urls.HOTLIST_PEOPLE),
           saved=1, ts=int(time.time()), include_project=False)
 
-  # def GetHotlistPeoplePage(self, **kwargs):
-  #   return self.handler(**kwargs)
+  def GetHotlistPeoplePage(self, **kwargs):
+    return self.handler(**kwargs)
 
-  # def PostHotlistPeoplePage(self, **kwargs):
-  #   return self.handler(**kwargs)
+  def PostHotlistPeoplePage(self, **kwargs):
+    return self.handler(**kwargs)
