diff --git a/ietf/utils/test_data.py b/ietf/utils/test_data.py
index af9f7e9df..682d7bae0 100644
--- a/ietf/utils/test_data.py
+++ b/ietf/utils/test_data.py
@@ -92,7 +92,23 @@ def make_test_data():
         group=group,
         email=wgchair,
         )
-    
+
+    # group delegate
+    u = User.objects.create(username="wgdelegate")
+    p = Person.objects.create(
+        name="WG Delegate",
+        ascii="WG Delegate",
+        user=u
+        )
+    email = Email.objects.create(
+        address="wgdelegate@ietf.org",
+        person=p)
+    Role.objects.create(
+        name_id="delegate",
+        group=group,
+        email=email,
+        )
+
     # secretary
     u = User.objects.create(username="secretary")
     p = Person.objects.create(
diff --git a/ietf/wgchairs/models.py b/ietf/wgchairs/models.py
index 3b57827e3..8909c7e05 100644
--- a/ietf/wgchairs/models.py
+++ b/ietf/wgchairs/models.py
@@ -1,6 +1,7 @@
 import datetime
 
 from django.db import models
+from django.conf import settings
 
 from ietf.idtracker.models import (IETFWG, PersonOrOrgInfo,
                                    InternetDraft)
@@ -11,7 +12,7 @@ class WGDelegate(models.Model):
         PersonOrOrgInfo,
         )
 
-    wg = models.ForeignKey(IETFWG)
+    wg = models.ForeignKey(IETFWG, related_name="old_wgdelegate_set" if settings.USE_DB_REDESIGN_PROXY_CLASSES else None)
 
     def __unicode__(self):
         return "%s" % self.person
@@ -19,7 +20,6 @@ class WGDelegate(models.Model):
     class Meta:
         verbose_name = "WG Delegate"
 
-
 class ProtoWriteUp(models.Model):
     person = models.ForeignKey(
         PersonOrOrgInfo,
@@ -43,3 +43,35 @@ class ProtoWriteUp(models.Model):
         blank=False,
         null=False,
         )
+
+if settings.USE_DB_REDESIGN_PROXY_CLASSES:
+    from redesign.group.models import Role
+    class WGDelegateProxy(Role):
+        #person = models.ForeignKey(PersonOrOrgInfo)
+        @property
+        def person(self):
+            return self.email.person
+        #wg = models.ForeignKey(IETFWG)
+        @property
+        def wg(self):
+            return self.group
+
+        def __unicode__(self):
+            return u"%s" % self.person
+
+        class Meta:
+            proxy = True
+
+    from redesign.doc.models import DocEvent
+    class ProtoWriteUpProxy(DocEvent):
+        #person = models.ForeignKey(PersonOrOrgInfo, blank=False, null=False)
+        #draft = models.ForeignKey(InternetDraft, blank=False, null=False)
+        #date = models.DateTimeField(default=datetime.datetime.now(), blank=False, null=False)
+        #writeup = models.TextField(blank=False, null=False)
+        class Meta:
+            proxy = True
+
+    #WGDelegateOld = WGDelegate
+    WGDelegate = WGDelegateProxy
+    ProtoWriteUpOld = ProtoWriteUp
+    ProtoWriteUp = ProtoWriteUpProxy
diff --git a/ietf/wgchairs/tests.py b/ietf/wgchairs/tests.py
new file mode 100644
index 000000000..9f61eb9ef
--- /dev/null
+++ b/ietf/wgchairs/tests.py
@@ -0,0 +1,51 @@
+import datetime, os, shutil
+
+from django.conf import settings
+from django.contrib.auth.models import User
+from django.core.urlresolvers import reverse as urlreverse
+import django.test
+from StringIO import StringIO
+from pyquery import PyQuery
+
+from ietf.utils.test_utils import login_testing_unauthorized
+from ietf.utils.test_runner import mail_outbox
+from ietf.utils.test_data import make_test_data
+
+if settings.USE_DB_REDESIGN_PROXY_CLASSES:
+    from redesign.person.models import Person, Email
+    from redesign.group.models import Group, Role
+        
+class ManageDelegatesTestCase(django.test.TestCase):
+    fixtures = ['names']
+
+    def test_delete_delegate(self):
+        make_test_data()
+
+        url = urlreverse('manage_delegates', kwargs=dict(acronym="mars"))
+        login_testing_unauthorized(self, "secretary", url)
+        
+        delegates = Role.objects.filter(name="delegate", group__acronym="mars")
+        self.assertTrue(len(delegates) > 0)
+        
+        # get
+        r = self.client.get(url)
+        self.assertEquals(r.status_code, 200)
+        q = PyQuery(r.content)
+        self.assertEquals(len(q('form input[name=delete]')), len(delegates))
+
+        # delete
+        r = self.client.post(url,
+                             dict(remove="1",
+                                  delete=[d.pk for d in delegates]))
+        self.assertEquals(r.status_code, 200)
+        q = PyQuery(r.content)
+        self.assertEquals(len(q('form input[name=delete]')), 0)
+        self.assertEquals(Role.objects.filter(name="delegate", group__acronym="mars").count(), 0)
+        
+        
+        
+        
+        
+if not settings.USE_DB_REDESIGN_PROXY_CLASSES:
+    # the above tests only work with the new schema
+    del ManageDelegatesTestCase 
diff --git a/redesign/group/proxy.py b/redesign/group/proxy.py
index 1084c7e2f..4f992538c 100644
--- a/redesign/group/proxy.py
+++ b/redesign/group/proxy.py
@@ -209,6 +209,10 @@ class IETFWG(Group):
         d = Dummy()
         d.all = self.chairs()
         return d
+    @property
+    def wgdelegate_set(self):
+        from ietf.wgchairs.models import WGDelegate
+        return WGDelegate.objects.filter(group=self, name="delegate")
     
     class Meta:
         proxy = True
diff --git a/redesign/name/fixtures/names.xml b/redesign/name/fixtures/names.xml
index 3baf7ee5d..0144b0e6b 100644
--- a/redesign/name/fixtures/names.xml
+++ b/redesign/name/fixtures/names.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
 <django-objects version="1.0">
-    <object pk="yes" model="name.ballotpositionname">
-        <field type="CharField" name="name">Yes</field>
+    <object pk="noobj" model="name.ballotpositionname">
+        <field type="CharField" name="name">No Objection</field>
         <field type="TextField" name="desc"></field>
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
-    <object pk="noobj" model="name.ballotpositionname">
-        <field type="CharField" name="name">No Objection</field>
+    <object pk="yes" model="name.ballotpositionname">
+        <field type="CharField" name="name">Yes</field>
         <field type="TextField" name="desc"></field>
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
@@ -54,24 +54,6 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
-    <object pk="iana-crd" model="name.docinfotagname">
-        <field type="CharField" name="name">IANA coordination</field>
-        <field type="TextField" name="desc">RFC-Editor/IANA Registration Coordination</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="missref" model="name.docinfotagname">
-        <field type="CharField" name="name">Missing references</field>
-        <field type="TextField" name="desc">Awaiting missing normative reference</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="fasttrac" model="name.docinfotagname">
-        <field type="CharField" name="name">FastTrack</field>
-        <field type="TextField" name="desc"></field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
     <object pk="rfc-rev" model="name.docinfotagname">
         <field type="CharField" name="name">Review by RFC Editor</field>
         <field type="TextField" name="desc"></field>
@@ -102,12 +84,6 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
-    <object pk="ref" model="name.docinfotagname">
-        <field type="CharField" name="name">Holding for references</field>
-        <field type="TextField" name="desc">Holding for normative reference</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
     <object pk="point" model="name.docinfotagname">
         <field type="CharField" name="name">Point Raised - writeup needed</field>
         <field type="TextField" name="desc">IESG discussions on the document have raised some issues that need to be brought to the attention of the authors/WG, but those issues have not been written down yet. (It is common for discussions during a telechat to result in such situations. An AD may raise a possible issue during a telechat and only decide as a result of that discussion whether the issue is worth formally writing up and bringing to the attention of the authors/WG). A document stays in the "Point Raised - Writeup Needed" state until *ALL* IESG comments that have been raised have been documented.</field>
@@ -138,14 +114,14 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">5</field>
     </object>
-    <object pk="updates" model="name.docrelationshipname">
-        <field type="CharField" name="name">Updates</field>
+    <object pk="replaces" model="name.docrelationshipname">
+        <field type="CharField" name="name">Replaces</field>
         <field type="TextField" name="desc"></field>
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
-    <object pk="replaces" model="name.docrelationshipname">
-        <field type="CharField" name="name">Replaces</field>
+    <object pk="updates" model="name.docrelationshipname">
+        <field type="CharField" name="name">Updates</field>
         <field type="TextField" name="desc"></field>
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
@@ -156,20 +132,8 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
-    <object pk="reviews" model="name.docrelationshipname">
-        <field type="CharField" name="name">Reviews</field>
-        <field type="TextField" name="desc"></field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="refs" model="name.docrelationshipname">
-        <field type="CharField" name="name">References</field>
-        <field type="TextField" name="desc"></field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="rfc" model="name.docstatename">
-        <field type="CharField" name="name">RFC</field>
+    <object pk="active" model="name.docstatename">
+        <field type="CharField" name="name">Active</field>
         <field type="TextField" name="desc"></field>
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
@@ -180,14 +144,8 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
-    <object pk="repl" model="name.docstatename">
-        <field type="CharField" name="name">Replaced</field>
-        <field type="TextField" name="desc"></field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="active" model="name.docstatename">
-        <field type="CharField" name="name">Active</field>
+    <object pk="rfc" model="name.docstatename">
+        <field type="CharField" name="name">RFC</field>
         <field type="TextField" name="desc"></field>
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
@@ -198,12 +156,24 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
+    <object pk="repl" model="name.docstatename">
+        <field type="CharField" name="name">Replaced</field>
+        <field type="TextField" name="desc"></field>
+        <field type="BooleanField" name="used">1</field>
+        <field type="IntegerField" name="order">0</field>
+    </object>
     <object pk="ietf-rm" model="name.docstatename">
         <field type="CharField" name="name">Withdrawn by IETF</field>
         <field type="TextField" name="desc"></field>
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
+    <object pk="legacy" model="name.docstreamname">
+        <field type="CharField" name="name">Legacy</field>
+        <field type="TextField" name="desc"></field>
+        <field type="BooleanField" name="used">1</field>
+        <field type="IntegerField" name="order">0</field>
+    </object>
     <object pk="ietf" model="name.docstreamname">
         <field type="CharField" name="name">IETF</field>
         <field type="TextField" name="desc"></field>
@@ -216,12 +186,6 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
-    <object pk="legacy" model="name.docstreamname">
-        <field type="CharField" name="name">Legacy</field>
-        <field type="TextField" name="desc"></field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
     <object pk="iab" model="name.docstreamname">
         <field type="CharField" name="name">IAB</field>
         <field type="TextField" name="desc"></field>
@@ -234,18 +198,6 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
-    <object pk="draft" model="name.doctypename">
-        <field type="CharField" name="name">Draft</field>
-        <field type="TextField" name="desc"></field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="ext" model="name.doctypename">
-        <field type="CharField" name="name">External</field>
-        <field type="TextField" name="desc"></field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
     <object pk="agenda" model="name.doctypename">
         <field type="CharField" name="name">Agenda</field>
         <field type="TextField" name="desc"></field>
@@ -264,6 +216,12 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
+    <object pk="draft" model="name.doctypename">
+        <field type="CharField" name="name">Draft</field>
+        <field type="TextField" name="desc"></field>
+        <field type="BooleanField" name="used">1</field>
+        <field type="IntegerField" name="order">0</field>
+    </object>
     <object pk="liai-att" model="name.doctypename">
         <field type="CharField" name="name">Liaison Attachment</field>
         <field type="TextField" name="desc"></field>
@@ -318,15 +276,21 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
+    <object pk="ag" model="name.grouptypename">
+        <field type="CharField" name="name">AG</field>
+        <field type="TextField" name="desc">Area group</field>
+        <field type="BooleanField" name="used">1</field>
+        <field type="IntegerField" name="order">0</field>
+    </object>
     <object pk="wg" model="name.grouptypename">
         <field type="CharField" name="name">WG</field>
-        <field type="TextField" name="desc"></field>
+        <field type="TextField" name="desc">Working group</field>
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
     <object pk="rg" model="name.grouptypename">
         <field type="CharField" name="name">RG</field>
-        <field type="TextField" name="desc"></field>
+        <field type="TextField" name="desc">Research group</field>
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
@@ -342,15 +306,9 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
-    <object pk="ag" model="name.grouptypename">
-        <field type="CharField" name="name">AG</field>
-        <field type="TextField" name="desc"></field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
     <object pk="sdo" model="name.grouptypename">
-        <field type="CharField" name="name">Standards Organization</field>
-        <field type="TextField" name="desc"></field>
+        <field type="CharField" name="name">SDO</field>
+        <field type="TextField" name="desc">Standards organization</field>
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
@@ -534,72 +492,6 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
-    <object pk="auth" model="name.rfcdocstatename">
-        <field type="CharField" name="name">AUTH</field>
-        <field type="TextField" name="desc">Awaiting author action</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="auth48" model="name.rfcdocstatename">
-        <field type="CharField" name="name">AUTH48</field>
-        <field type="TextField" name="desc">Awaiting final author approval</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="edit" model="name.rfcdocstatename">
-        <field type="CharField" name="name">EDIT</field>
-        <field type="TextField" name="desc">Approved by the stream manager (e.g., IESG, IAB, IRSG, ISE), awaiting processing and publishing</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="iana-crd" model="name.rfcdocstatename">
-        <field type="CharField" name="name">IANA</field>
-        <field type="TextField" name="desc">RFC-Editor/IANA Registration Coordination</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="iesg" model="name.rfcdocstatename">
-        <field type="CharField" name="name">IESG</field>
-        <field type="TextField" name="desc">Holding for IESG action</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="isr" model="name.rfcdocstatename">
-        <field type="CharField" name="name">ISR</field>
-        <field type="TextField" name="desc">Independent Submission Review by the ISE </field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="isr-auth" model="name.rfcdocstatename">
-        <field type="CharField" name="name">ISR-AUTH</field>
-        <field type="TextField" name="desc">Independent Submission awaiting author update, or in discussion between author and ISE</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="ref" model="name.rfcdocstatename">
-        <field type="CharField" name="name">REF</field>
-        <field type="TextField" name="desc">Holding for normative reference</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="rfc-edit" model="name.rfcdocstatename">
-        <field type="CharField" name="name">RFC-EDITOR</field>
-        <field type="TextField" name="desc">Awaiting final RFC Editor review before AUTH48</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="timeout" model="name.rfcdocstatename">
-        <field type="CharField" name="name">TO</field>
-        <field type="TextField" name="desc">Time-out period during which the IESG reviews document for conflict/concurrence with other IETF working group work</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
-    <object pk="missref" model="name.rfcdocstatename">
-        <field type="CharField" name="name">MISSREF</field>
-        <field type="TextField" name="desc">Awaiting missing normative reference</field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
     <object pk="ad" model="name.rolename">
         <field type="CharField" name="name">Area Director</field>
         <field type="TextField" name="desc"></field>
@@ -636,12 +528,6 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
-    <object pk="dir" model="name.rolename">
-        <field type="CharField" name="name">Executive Director</field>
-        <field type="TextField" name="desc"></field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
     <object pk="execdir" model="name.rolename">
         <field type="CharField" name="name">Executive Director</field>
         <field type="TextField" name="desc"></field>
@@ -666,6 +552,12 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
+    <object pk="delegate" model="name.rolename">
+        <field type="CharField" name="name">Delegate</field>
+        <field type="TextField" name="desc"></field>
+        <field type="BooleanField" name="used">1</field>
+        <field type="IntegerField" name="order">0</field>
+    </object>
     <object pk="schedw" model="name.sessionstatusname">
         <field type="CharField" name="name">Waiting for Scheduling</field>
         <field type="TextField" name="desc"></field>
@@ -768,16 +660,16 @@
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
-    <object pk="other" model="name.timeslottypename">
-        <field type="CharField" name="name">Other</field>
-        <field type="TextField" name="desc"></field>
-        <field type="BooleanField" name="used">1</field>
-        <field type="IntegerField" name="order">0</field>
-    </object>
     <object pk="plenary" model="name.timeslottypename">
         <field type="CharField" name="name">Plenary</field>
         <field type="TextField" name="desc"></field>
         <field type="BooleanField" name="used">1</field>
         <field type="IntegerField" name="order">0</field>
     </object>
+    <object pk="other" model="name.timeslottypename">
+        <field type="CharField" name="name">Other</field>
+        <field type="TextField" name="desc"></field>
+        <field type="BooleanField" name="used">1</field>
+        <field type="IntegerField" name="order">0</field>
+    </object>
 </django-objects>
\ No newline at end of file