diff --git a/dronken/admin.py b/dronken/admin.py
index bd4e379..b4d4fe4 100644
--- a/dronken/admin.py
+++ b/dronken/admin.py
@@ -3,3 +3,4 @@ from dronken.models import *
 
 admin.site.register(City)
 admin.site.register(Association)
+admin.site.register(ExtraState)
diff --git a/dronken/migrations/0005_auto_20180913_1129.py b/dronken/migrations/0005_auto_20180913_1129.py
new file mode 100644
index 0000000..d108277
--- /dev/null
+++ b/dronken/migrations/0005_auto_20180913_1129.py
@@ -0,0 +1,26 @@
+# Generated by Django 2.0 on 2018-09-13 11:29
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('dronken', '0004_auto_20180306_1341'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='ExtraState',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.CharField(max_length=255)),
+                ('value', models.CharField(max_length=255)),
+            ],
+        ),
+        migrations.AddField(
+            model_name='association',
+            name='extra_states',
+            field=models.ManyToManyField(to='dronken.ExtraState'),
+        ),
+    ]
diff --git a/dronken/migrations/0006_auto_20180913_1135.py b/dronken/migrations/0006_auto_20180913_1135.py
new file mode 100644
index 0000000..6f8a889
--- /dev/null
+++ b/dronken/migrations/0006_auto_20180913_1135.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.0 on 2018-09-13 11:35
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('dronken', '0005_auto_20180913_1129'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='association',
+            name='state',
+            field=models.CharField(max_length=255),
+        ),
+    ]
diff --git a/dronken/migrations/0007_auto_20180913_1141.py b/dronken/migrations/0007_auto_20180913_1141.py
new file mode 100644
index 0000000..eb16f87
--- /dev/null
+++ b/dronken/migrations/0007_auto_20180913_1141.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.0 on 2018-09-13 11:41
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('dronken', '0006_auto_20180913_1135'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='association',
+            name='extra_states',
+            field=models.ManyToManyField(blank=True, null=True, to='dronken.ExtraState'),
+        ),
+    ]
diff --git a/dronken/models.py b/dronken/models.py
index a4a3d15..76a7384 100644
--- a/dronken/models.py
+++ b/dronken/models.py
@@ -21,10 +21,28 @@ class Association(models.Model):
     short_name = models.CharField(max_length=255)
     slug = models.CharField(max_length=255)
     intern = models.CharField(max_length=255, blank=True, null=True)
-    state = models.CharField(choices=STATES, max_length=255)
+    state = models.CharField(max_length=255)
     city = models.ForeignKey(to=City, on_delete=models.SET_NULL, blank=True, null=True)
     has_intern = models.BooleanField()
     enabled = models.BooleanField()
+    extra_states = models.ManyToManyField(to='ExtraState', blank=True, null=True)
+
+    def __str__(self):
+        return self.name
+
+    def get_state_display(self):
+        values = dict(list(Association.STATES))
+        values.update(dict([(x.value, x.name) for x in self.extra_states.all()]))
+
+        try:
+            return values[self.state]
+        except KeyError:
+            return "Onbekend"
+
+
+class ExtraState(models.Model):
+    name = models.CharField(max_length=255)
+    value = models.CharField(max_length=255)
 
     def __str__(self):
         return self.name
diff --git a/dronken/views.py b/dronken/views.py
index 57a0c3c..7a93c1f 100644
--- a/dronken/views.py
+++ b/dronken/views.py
@@ -2,7 +2,7 @@ from django import forms
 from django.urls import reverse_lazy
 from django.views.generic import ListView, UpdateView
 
-from dronken.models import City, Association
+from dronken.models import City, Association, ExtraState
 
 
 class CityList(ListView):
@@ -36,6 +36,17 @@ class DrunkUpdateForm(forms.ModelForm):
         model = Association
         fields = ['state']
 
+    def __init__(self, *args, **kwargs):
+        super(DrunkUpdateForm, self).__init__(*args, **kwargs)
+
+        self.fields['state'] = forms.ChoiceField(
+            choices=list(Association.STATES) + [(o.value, o.name) for o in self.instance.extra_states.all()]
+        )
+
+    def clean(self):
+        print(self.instance.state)
+        return super(DrunkUpdateForm, self).clean()
+
 
 class AssociationDetail(UpdateView):
     template_name = 'association.html'