diff --git a/biscuit/core/admin.py b/biscuit/core/admin.py
deleted file mode 100644
index 6396d4807f2cdbab3b3b0c4e4fe391be76d9faac..0000000000000000000000000000000000000000
--- a/biscuit/core/admin.py
+++ /dev/null
@@ -1,6 +0,0 @@
-from django.contrib import admin
-from django.contrib.auth.admin import UserAdmin
-
-from .models import Person
-
-admin.site.register(Person, UserAdmin)
diff --git a/biscuit/core/migrations/0003_split_person_user.py b/biscuit/core/migrations/0003_split_person_user.py
new file mode 100644
index 0000000000000000000000000000000000000000..4d92bffa82a37cf0d5633ea7d902e9b988ff99c1
--- /dev/null
+++ b/biscuit/core/migrations/0003_split_person_user.py
@@ -0,0 +1,90 @@
+# Generated by Django 2.2.3 on 2019-07-15 21:26
+
+from django.db import migrations, models
+import phonenumber_field.modelfields
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('core', '0002_fill_person_model'),
+    ]
+
+    operations = [
+        migrations.AlterModelOptions(
+            name='person',
+            options={},
+        ),
+        migrations.AlterModelManagers(
+            name='person',
+            managers=[
+            ],
+        ),
+        migrations.RemoveField(
+            model_name='person',
+            name='date_joined',
+        ),
+        migrations.RemoveField(
+            model_name='person',
+            name='groups',
+        ),
+        migrations.RemoveField(
+            model_name='person',
+            name='is_staff',
+        ),
+        migrations.RemoveField(
+            model_name='person',
+            name='is_superuser',
+        ),
+        migrations.RemoveField(
+            model_name='person',
+            name='last_login',
+        ),
+        migrations.RemoveField(
+            model_name='person',
+            name='password',
+        ),
+        migrations.RemoveField(
+            model_name='person',
+            name='user_permissions',
+        ),
+        migrations.RemoveField(
+            model_name='person',
+            name='username',
+        ),
+        migrations.AlterField(
+            model_name='person',
+            name='email',
+            field=models.EmailField(blank=True, max_length=254, verbose_name='E-mail address'),
+        ),
+        migrations.AlterField(
+            model_name='person',
+            name='first_name',
+            field=models.CharField(max_length=30, verbose_name='First name'),
+        ),
+        migrations.AlterField(
+            model_name='person',
+            name='guardians',
+            field=models.ManyToManyField(related_name='children', to='core.Person', verbose_name='Guardians / Parents'),
+        ),
+        migrations.AlterField(
+            model_name='person',
+            name='is_active',
+            field=models.BooleanField(default=False, verbose_name='Is person active?'),
+        ),
+        migrations.AlterField(
+            model_name='person',
+            name='last_name',
+            field=models.CharField(max_length=30, verbose_name='Last name'),
+        ),
+        migrations.AlterField(
+            model_name='person',
+            name='mobile_number',
+            field=phonenumber_field.modelfields.PhoneNumberField(blank=True, max_length=128, region=None, verbose_name='Mobile phone'),
+        ),
+        migrations.AlterField(
+            model_name='person',
+            name='phone_number',
+            field=phonenumber_field.modelfields.PhoneNumberField(blank=True, max_length=128, region=None, verbose_name='Home phone'),
+        ),
+    ]
diff --git a/biscuit/core/models.py b/biscuit/core/models.py
index 6e9d192b2632ad16d500c008c4cb2db9bc242a4d..96d16657ce7b50d9fceae032916cd4eced41529d 100644
--- a/biscuit/core/models.py
+++ b/biscuit/core/models.py
@@ -5,12 +5,17 @@ from django.utils.translation import gettext_lazy as _
 from phonenumber_field.modelfields import PhoneNumberField
 
 
-class Person(AbstractUser):
+class Person(models.Model):
     SEX_CHOICES = [
         ('f', _('female')),
         ('m', _('male'))
     ]
 
+    is_active = models.BooleanField(
+        verbose_name=_('Is person active?'), default=False)
+
+    first_name = models.CharField(verbose_name=_('First name'), max_length=30)
+    last_name = models.CharField(verbose_name=_('Last name'), max_length=30)
     additional_name = models.CharField(verbose_name=_(
         'Additional name(s)'), max_length=30, blank=True)
 
@@ -27,6 +32,8 @@ class Person(AbstractUser):
     mobile_number = PhoneNumberField(
         verbose_name=_('Mobile phone'), blank=True)
 
+    email = models.EmailField(verbose_name=_('E-mail address'), blank=True)
+
     date_of_birth = models.DateField(
         verbose_name=_('Date of birth'), blank=True, null=True)
     sex = models.CharField(verbose_name=_(
diff --git a/biscuit/core/settings.py b/biscuit/core/settings.py
index ca412fb119d7080567dbda9e7645923d1618427e..107d694f0fd37d9c550958ca5b45db0628b10194 100644
--- a/biscuit/core/settings.py
+++ b/biscuit/core/settings.py
@@ -116,8 +116,6 @@ USE_TZ = True
 
 STATIC_URL = '/static/'
 
-AUTH_USER_MODEL = 'core.Person'
-
 MENU_SELECT_PARENTS = True
 
 LOGIN_REDIRECT_URL = 'index'