diff --git a/SciPost_v1/settings.py b/SciPost_v1/settings.py
index 65894af86ddb083fb54710aa0be1c03e331bcdf1..797c834c1fdbcbb4744cf42e62cede241c76eaab 100644
--- a/SciPost_v1/settings.py
+++ b/SciPost_v1/settings.py
@@ -33,8 +33,10 @@ ALLOWED_HOSTS = []
 
 # Secure proxy SSL header and secure cookies                                                       
 SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
-SESSION_COOKIE_SECURE = host_settings["SESSION_COOKIE_SECURE"]
-CSRF_COOKIE_SECURE = host_settings["CSRF_COOKIE_SECURE"]
+#SESSION_COOKIE_SECURE = host_settings["SESSION_COOKIE_SECURE"]
+SESSION_COOKIE_SECURE = False
+#CSRF_COOKIE_SECURE = host_settings["CSRF_COOKIE_SECURE"]
+CSRF_COOKIE_SECURE = False
 
 # Session expire at browser close                                                                  
 SESSION_EXPIRE_AT_BROWSER_CLOSE = True
diff --git a/commentaries/migrations/0001_initial.py b/commentaries/migrations/0001_initial.py
index ae1d80b84d0195a3b141a892dc404bb595546611..b4993173dd6252cec2981c87c67865a2f3fc5123 100644
--- a/commentaries/migrations/0001_initial.py
+++ b/commentaries/migrations/0001_initial.py
@@ -15,7 +15,7 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='Commentary',
             fields=[
-                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
+                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
                 ('vetted', models.BooleanField(default=False)),
                 ('type', models.CharField(max_length=9)),
                 ('open_for_commenting', models.BooleanField(default=True)),
@@ -26,19 +26,19 @@ class Migration(migrations.Migration):
                 ('pub_date', models.DateField(verbose_name='date of original publication')),
                 ('pub_abstract', models.TextField()),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('clarity_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('validity_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('rigour_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_originality_ratings', models.IntegerField(default=0)),
-                ('originality_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('originality_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_significance_ratings', models.IntegerField(default=0)),
-                ('significance_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('significance_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('latest_activity', models.DateTimeField(default=django.utils.timezone.now)),
-                ('authors', models.ManyToManyField(related_name='authors_com', blank=True, to='scipost.Contributor')),
-                ('requested_by', models.ForeignKey(null=True, related_name='requested_by', blank=True, to='scipost.Contributor')),
-                ('vetted_by', models.ForeignKey(null=True, blank=True, to='scipost.Contributor')),
+                ('authors', models.ManyToManyField(to='scipost.Contributor', blank=True, related_name='authors_com')),
+                ('requested_by', models.ForeignKey(blank=True, related_name='requested_by', to='scipost.Contributor', null=True)),
+                ('vetted_by', models.ForeignKey(blank=True, to='scipost.Contributor', null=True)),
             ],
         ),
     ]
diff --git a/comments/migrations/0001_initial.py b/comments/migrations/0001_initial.py
index bcbf9a1a3ec65c1928337d42324732b98840ac1d..100a47806ee4ed4c536e1d55fc236ec689329f88 100644
--- a/comments/migrations/0001_initial.py
+++ b/comments/migrations/0001_initial.py
@@ -7,38 +7,38 @@ from django.db import migrations, models
 class Migration(migrations.Migration):
 
     dependencies = [
+        ('reports', '0001_initial'),
         ('commentaries', '0001_initial'),
         ('scipost', '0001_initial'),
         ('submissions', '0001_initial'),
-        ('reports', '0001_initial'),
     ]
 
     operations = [
         migrations.CreateModel(
             name='AuthorReply',
             fields=[
-                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
+                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
                 ('status', models.SmallIntegerField(default=0)),
                 ('reply_text', models.TextField()),
                 ('date_submitted', models.DateTimeField(verbose_name='date submitted')),
                 ('nr_relevance_ratings', models.IntegerField(default=0)),
-                ('relevance_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('relevance_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_importance_ratings', models.IntegerField(default=0)),
-                ('importance_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('importance_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('clarity_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('validity_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('rigour_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('author', models.ForeignKey(to='scipost.Contributor')),
-                ('commentary', models.ForeignKey(null=True, blank=True, to='commentaries.Commentary')),
+                ('commentary', models.ForeignKey(blank=True, to='commentaries.Commentary', null=True)),
             ],
         ),
         migrations.CreateModel(
             name='Comment',
             fields=[
-                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
+                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
                 ('status', models.SmallIntegerField(default=0)),
                 ('is_rem', models.BooleanField(default=False, verbose_name='remark')),
                 ('is_que', models.BooleanField(default=False, verbose_name='question')),
@@ -51,34 +51,34 @@ class Migration(migrations.Migration):
                 ('comment_text', models.TextField()),
                 ('date_submitted', models.DateTimeField(verbose_name='date submitted')),
                 ('nr_relevance_ratings', models.IntegerField(default=0)),
-                ('relevance_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('relevance_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_importance_ratings', models.IntegerField(default=0)),
-                ('importance_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('importance_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('clarity_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('validity_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('rigour_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('author', models.ForeignKey(to='scipost.Contributor')),
-                ('commentary', models.ForeignKey(null=True, blank=True, to='commentaries.Commentary')),
-                ('in_reply_to', models.ForeignKey(null=True, blank=True, to='comments.Comment')),
-                ('submission', models.ForeignKey(null=True, blank=True, to='submissions.Submission')),
+                ('commentary', models.ForeignKey(blank=True, to='commentaries.Commentary', null=True)),
+                ('in_reply_to', models.ForeignKey(blank=True, to='comments.Comment', null=True)),
+                ('submission', models.ForeignKey(blank=True, to='submissions.Submission', null=True)),
             ],
         ),
         migrations.AddField(
             model_name='authorreply',
             name='in_reply_to_comment',
-            field=models.ForeignKey(null=True, blank=True, to='comments.Comment'),
+            field=models.ForeignKey(blank=True, to='comments.Comment', null=True),
         ),
         migrations.AddField(
             model_name='authorreply',
             name='in_reply_to_report',
-            field=models.ForeignKey(null=True, blank=True, to='reports.Report'),
+            field=models.ForeignKey(blank=True, to='reports.Report', null=True),
         ),
         migrations.AddField(
             model_name='authorreply',
             name='submission',
-            field=models.ForeignKey(null=True, blank=True, to='submissions.Submission'),
+            field=models.ForeignKey(blank=True, to='submissions.Submission', null=True),
         ),
     ]
diff --git a/ratings/migrations/0001_initial.py b/ratings/migrations/0001_initial.py
index c4d9ffa0489776e0cc120a7929effbabe61a59f5..2de2375d8496665b74ce6fee6d8813e2359d37e5 100644
--- a/ratings/migrations/0001_initial.py
+++ b/ratings/migrations/0001_initial.py
@@ -7,23 +7,23 @@ from django.db import migrations, models
 class Migration(migrations.Migration):
 
     dependencies = [
+        ('reports', '0001_initial'),
         ('commentaries', '0001_initial'),
         ('scipost', '0001_initial'),
         ('submissions', '0001_initial'),
         ('comments', '0001_initial'),
-        ('reports', '0001_initial'),
     ]
 
     operations = [
         migrations.CreateModel(
             name='AuthorReplyRating',
             fields=[
-                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
-                ('relevance', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('importance', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('clarity', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('validity', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('rigour', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
+                ('relevance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('importance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('clarity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('validity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('rigour', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
                 ('authorreply', models.ForeignKey(to='comments.AuthorReply')),
                 ('rater', models.ForeignKey(to='scipost.Contributor')),
             ],
@@ -34,12 +34,12 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='CommentaryRating',
             fields=[
-                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
-                ('clarity', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('validity', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('rigour', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('originality', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('significance', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
+                ('clarity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('validity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('rigour', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('originality', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('significance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
                 ('commentary', models.ForeignKey(to='commentaries.Commentary')),
                 ('rater', models.ForeignKey(to='scipost.Contributor')),
             ],
@@ -50,12 +50,12 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='CommentRating',
             fields=[
-                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
-                ('relevance', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('importance', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('clarity', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('validity', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('rigour', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
+                ('relevance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('importance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('clarity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('validity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('rigour', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
                 ('comment', models.ForeignKey(to='comments.Comment')),
                 ('rater', models.ForeignKey(to='scipost.Contributor')),
             ],
@@ -66,12 +66,12 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='ReportRating',
             fields=[
-                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
-                ('relevance', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('importance', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('clarity', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('validity', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('rigour', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
+                ('relevance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('importance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('clarity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('validity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('rigour', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
                 ('rater', models.ForeignKey(to='scipost.Contributor')),
                 ('report', models.ForeignKey(to='reports.Report')),
             ],
@@ -82,12 +82,12 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='SubmissionRating',
             fields=[
-                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
-                ('clarity', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('validity', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('rigour', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('originality', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
-                ('significance', models.PositiveSmallIntegerField(null=True, default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
+                ('clarity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('validity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('rigour', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('originality', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('significance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
                 ('rater', models.ForeignKey(to='scipost.Contributor')),
                 ('submission', models.ForeignKey(to='submissions.Submission')),
             ],
diff --git a/reports/migrations/0001_initial.py b/reports/migrations/0001_initial.py
index 63a77dfcec66f8dd61f746770d11ad1a06d29933..cd7a3ddced352df71e64b9a6ca54af4ef05b3d97 100644
--- a/reports/migrations/0001_initial.py
+++ b/reports/migrations/0001_initial.py
@@ -15,7 +15,7 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='Report',
             fields=[
-                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
+                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
                 ('status', models.SmallIntegerField(default=0)),
                 ('qualification', models.PositiveSmallIntegerField(default=0)),
                 ('strengths', models.TextField()),
@@ -23,20 +23,20 @@ class Migration(migrations.Migration):
                 ('report', models.TextField()),
                 ('requested_changes', models.TextField()),
                 ('recommendation', models.SmallIntegerField(choices=[(1, 'Publish as Tier I (top 10% of papers in this journal)'), (2, 'Publish as Tier II (top 50% of papers in this journal)'), (3, 'Publish as Tier III (meets the criteria of this journal)'), (-1, 'Ask for minor revision'), (-2, 'Ask for major revision'), (-3, 'Reject')])),
-                ('date_invited', models.DateTimeField(null=True, blank=True, verbose_name='date invited')),
+                ('date_invited', models.DateTimeField(blank=True, null=True, verbose_name='date invited')),
                 ('date_submitted', models.DateTimeField(verbose_name='date submitted')),
                 ('nr_relevance_ratings', models.IntegerField(default=0)),
-                ('relevance_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('relevance_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_importance_ratings', models.IntegerField(default=0)),
-                ('importance_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('importance_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('clarity_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('validity_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('rigour_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('author', models.ForeignKey(to='scipost.Contributor')),
-                ('invited_by', models.ForeignKey(null=True, related_name='invited_by', blank=True, to='scipost.Contributor')),
+                ('invited_by', models.ForeignKey(blank=True, related_name='invited_by', to='scipost.Contributor', null=True)),
                 ('submission', models.ForeignKey(to='submissions.Submission')),
             ],
         ),
diff --git a/scipost/templates/scipost/change_password.html b/scipost/templates/scipost/change_password.html
index 3c3da05514d6dd441756ee45c39f1cf1847ee060..29846710f67d3912bf302b7e1041c86b970ce2af 100644
--- a/scipost/templates/scipost/change_password.html
+++ b/scipost/templates/scipost/change_password.html
@@ -6,7 +6,7 @@
 
 <section>
   <h1>Change your SciPost password</h1>
-  <form action="{% url 'contributors:change_password' %}" method="post">
+  <form action="{% url 'scipost:change_password' %}" method="post">
     {% csrf_token %}
     <table>
       <ul>
diff --git a/scipost/templates/scipost/index.html b/scipost/templates/scipost/index.html
index 1a4ffe00fd0e2dce1ab8f594a62fda7a46edbc31..04af8648ef770caf7083c4972d8a5322361fdf77 100644
--- a/scipost/templates/scipost/index.html
+++ b/scipost/templates/scipost/index.html
@@ -38,12 +38,12 @@
   <div class="row">
     <div class="col-4">
       <h1>SciPost Contributors</h1>
-      <h3>Registered contributors:</h3> <a href="{% url 'contributors:login' %}">Login to your Personal Page</a>
+      <h3>Registered contributors:</h3> <a href="{% url 'scipost:login' %}">Login to your Personal Page</a>
     </div>
     <div class="col-4">
       <h1>Register</h1>
       <p>Professional scientists (PhD students and above) can become Contributors to SciPost by filling the 
-      <a href="{% url 'contributors:register' %}">registration form</a>.</p>
+      <a href="{% url 'scipost:register' %}">registration form</a>.</p>
     </div>
     <div class="col-4">
       <h4>Registered contributors can:</h4>
diff --git a/scipost/templates/scipost/login.html b/scipost/templates/scipost/login.html
index 1c7e9fefd3a78bf0f622432a41dc85fdec14e583..215c84f48a9408b30f95cbdde154a747443a9183 100644
--- a/scipost/templates/scipost/login.html
+++ b/scipost/templates/scipost/login.html
@@ -8,7 +8,7 @@
   <div class="row">
     <div class="col-6">
       <h1>Log in to SciPost</h1>
-      <form action="{% url 'contributors:login' %}" method="post">
+      <form action="{% url 'scipost:login' %}" method="post">
 	{% csrf_token %}
 	<table>
 	  <ul>
@@ -23,7 +23,7 @@
     <div class="col-6">
       <h1>Not registered as a Contributor to SciPost?</h1>
       <p>If you are a professional scientist (PhD student and above), you can register by filling the
-      <a href="{% url 'contributors:register' %}">registration form</a>.</p>
+      <a href="{% url 'scipost:register' %}">registration form</a>.</p>
     </div>
     {% endif %}
   </div>
diff --git a/scipost/templates/scipost/navbar.html b/scipost/templates/scipost/navbar.html
index 98449c912685127bb0d339b81b2cec847ecb5de4..c6fc5ed42fb4af81620c5da0bec540df3cce4703 100644
--- a/scipost/templates/scipost/navbar.html
+++ b/scipost/templates/scipost/navbar.html
@@ -12,10 +12,10 @@
     <div class="col-6">
       {% if user.is_authenticated %}
       <p>Logged in as {{ user.username }}</p>
-      <a href="{% url 'contributors:logout' %}">Logout</a>
-      <a href="{% url 'contributors:personal_page' %}">Personal Page</a>
+      <a href="{% url 'scipost:logout' %}">Logout</a>
+      <a href="{% url 'scipost:personal_page' %}">Personal Page</a>
       {% else %}
-      <a href="{% url 'contributors:login' %}">Login</a>
+      <a href="{% url 'scipost:login' %}">Login</a>
       {% endif %}
     </div>
   </div>
diff --git a/scipost/templates/scipost/personal_page.html b/scipost/templates/scipost/personal_page.html
index 3c340b2aaaa486d544f01c802b135eabf6465927..f99c89238bd7164fe8417efafa362780f5ff46f4 100644
--- a/scipost/templates/scipost/personal_page.html
+++ b/scipost/templates/scipost/personal_page.html
@@ -17,7 +17,7 @@
   <div class="col-4">
     <h3>Registration actions</h3>
     <ul>
-      <li><a href="{% url 'contributors:vet_registration_requests' %}">Vet Registration requests</a> ({{ nr_reg_to_vet }})</li>
+      <li><a href="{% url 'scipost:vet_registration_requests' %}">Vet Registration requests</a> ({{ nr_reg_to_vet }})</li>
     </ul>
   </div>
   {% endif %}
@@ -65,12 +65,12 @@
   <div class="row">
     <div class="col-6">
       <ul>
-	<li><a href="{% url 'contributors:update_personal_data' %}">Update your personal data</a></li>
+	<li><a href="{% url 'scipost:update_personal_data' %}">Update your personal data</a></li>
       </ul>
     </div>
     <div class="col-6">
       <ul>
-	<li><a href="{% url 'contributors:change_password' %}">Change your password</a></li>
+	<li><a href="{% url 'scipost:change_password' %}">Change your password</a></li>
       </ul>
     </div>
   </div>
diff --git a/scipost/templates/scipost/register.html b/scipost/templates/scipost/register.html
index cfe41fed883e5989d5b2b5e9bb60f300c98b14df..6bcee8ed347836785a7386228e0911b167c62afd 100644
--- a/scipost/templates/scipost/register.html
+++ b/scipost/templates/scipost/register.html
@@ -6,7 +6,7 @@
 
 <section>
   <h1>Register to SciPost</h1>
-  <form action="{% url 'contributors:register' %}" method="post">
+  <form action="{% url 'scipost:register' %}" method="post">
     {% csrf_token %}
     <table>
       <ul>
diff --git a/scipost/templates/scipost/update_personal_data.html b/scipost/templates/scipost/update_personal_data.html
index 9ee3a82a002907d86c9534f0c16d70fe98aa194a..430b5b3be3f7c2081504a1902ee6af0f0af41423 100644
--- a/scipost/templates/scipost/update_personal_data.html
+++ b/scipost/templates/scipost/update_personal_data.html
@@ -6,7 +6,7 @@
 
 <section>
   <h1>Update your personal data</h1>
-  <form action="{% url 'contributors:update_personal_data' %}" method="post">
+  <form action="{% url 'scipost:update_personal_data' %}" method="post">
     {% csrf_token %}
     <table>
       <ul>
diff --git a/scipost/templates/scipost/vet_registration_request_ack.html b/scipost/templates/scipost/vet_registration_request_ack.html
index 597018a2441df0321af64ee8666720663394f596..05af61d8e7c86c6a2f1d81e8c6cad76f4b6a2d8a 100644
--- a/scipost/templates/scipost/vet_registration_request_ack.html
+++ b/scipost/templates/scipost/vet_registration_request_ack.html
@@ -6,7 +6,7 @@
 
 <section>
   <h1>SciPost Registration request vetted.</h1>
-  <p><a href="{% url 'contributors:vet_registration_requests' %}">Back to Registration requests page</a></p>
+  <p><a href="{% url 'scipost:vet_registration_requests' %}">Back to Registration requests page</a></p>
 </section>
 
 {% endblock bodysup %}
diff --git a/scipost/templates/scipost/vet_registration_requests.html b/scipost/templates/scipost/vet_registration_requests.html
index 8f0900d16f3f6d3d0a35e56561450e8f3e630ed0..0c4d25f770c3cb55a7ed670a16222458f769e7da 100644
--- a/scipost/templates/scipost/vet_registration_requests.html
+++ b/scipost/templates/scipost/vet_registration_requests.html
@@ -23,7 +23,7 @@
       </table>
     </div>
     <div class="col-4">
-      <form action="{% url 'contributors:vet_registration_request_ack' contributor_id=registration_to_vet.id %}" method="post">
+      <form action="{% url 'scipost:vet_registration_request_ack' contributor_id=registration_to_vet.id %}" method="post">
 	{% csrf_token %}
 	{{ form.as_p }}
 	<input type="submit" value="Submit" />
diff --git a/scipost/views.py b/scipost/views.py
index 4da8766faf3555cb3dc199e4278e8ba312dbb56a..16915ea80c6f955c5c6453e2ec1f2ace3fd35abc 100644
--- a/scipost/views.py
+++ b/scipost/views.py
@@ -3,7 +3,7 @@ from django.utils import timezone
 from django.shortcuts import get_object_or_404, render
 from django.contrib.auth import authenticate, login, logout
 from django.contrib.auth.models import User
-from django.core.mail import send_mail
+from django.core.mail import EmailMessage
 from django.core.urlresolvers import reverse
 from django.http import HttpResponse, HttpResponseRedirect
 from django.views.decorators.csrf import csrf_protect
@@ -62,10 +62,10 @@ def register(request):
         if form.is_valid():
             # check for mismatching passwords
             if form.cleaned_data['password'] != form.cleaned_data['password_verif']:
-                return render(request, 'register.html', {'form': form, 'errormessage': 'Your passwords must match'})
+                return render(request, 'scipost/register.html', {'form': form, 'errormessage': 'Your passwords must match'})
             # check for already-existing username
             if User.objects.filter(username=form.cleaned_data['username']).exists():
-                return render(request, 'register.html', {'form': form, 'errormessage': 'This username is already in use'})                
+                return render(request, 'scipost/register.html', {'form': form, 'errormessage': 'This username is already in use'})                
             # create the user
             user = User.objects.create_user (
                 first_name = form.cleaned_data['first_name'],
@@ -92,11 +92,11 @@ def register(request):
         form = RegistrationForm()
 
     errormessage = ''
-    return render(request, 'register.html', {'form': form, 'errormessage': errormessage})
+    return render(request, 'scipost/register.html', {'form': form, 'errormessage': errormessage})
 
 
 def thanks_for_registering(request):
-    return render(request, 'thanks_for_registering.html')
+    return render(request, 'scipost/thanks_for_registering.html')
 
 
 def vet_registration_requests(request):
@@ -104,7 +104,7 @@ def vet_registration_requests(request):
     registration_requests_to_vet = Contributor.objects.filter(rank=0)
     form = VetRegistrationForm()
     context = {'contributor': contributor, 'registration_requests_to_vet': registration_requests_to_vet, 'form': form }
-    return render(request, 'vet_registration_requests.html', context)
+    return render(request, 'scipost/vet_registration_requests.html', context)
 
 
 def vet_registration_request_ack(request, contributor_id):
@@ -130,7 +130,7 @@ def vet_registration_request_ack(request, contributor_id):
                 contributor.save()
 
     context = {}
-    return render(request, 'vet_registration_request_ack.html', context)
+    return render(request, 'scipost/vet_registration_request_ack.html', context)
 
 
 def login_view(request):
@@ -143,19 +143,19 @@ def login_view(request):
                 login(request, user)
                 contributor = Contributor.objects.get(user=request.user)
                 context = {'contributor': contributor }
-                return render(request, 'personal_page.html', context)
+                return render(request, 'scipost/personal_page.html', context)
             else:
-                return render(request, 'disabled_account.html')
+                return render(request, 'scipost/disabled_account.html')
         else:
-            return render(request, 'login_error.html')
+            return render(request, 'scipost/login_error.html')
     else:
         form = AuthenticationForm()
-        return render(request, 'login.html', {'form': form})
+        return render(request, 'scipost/login.html', {'form': form})
 
 
 def logout_view(request):
     logout(request)
-    return render(request, 'logout.html')
+    return render(request, 'scipost/logout.html')
 
 
 def personal_page(request):
@@ -178,11 +178,11 @@ def personal_page(request):
             nr_author_replies_to_vet = AuthorReply.objects.filter(status=0).count()
             nr_reports_to_vet = Report.objects.filter(status=0).count()
         context = {'contributor': contributor, 'nr_reg_to_vet': nr_reg_to_vet, 'nr_commentary_page_requests_to_vet': nr_commentary_page_requests_to_vet, 'nr_comments_to_vet': nr_comments_to_vet, 'nr_author_replies_to_vet': nr_author_replies_to_vet, 'nr_reports_to_vet': nr_reports_to_vet, 'nr_submissions_to_process': nr_submissions_to_process }
-        return render(request, 'personal_page.html', context)
+        return render(request, 'scipost/personal_page.html', context)
     else:
         form = AuthenticationForm()
         context = {'form': form}
-        return render(request, 'login.html', context)
+        return render(request, 'scipost/login.html', context)
 
 
 def change_password(request):
@@ -191,21 +191,21 @@ def change_password(request):
         if form.is_valid():
             # verify existing password:
             if not request.user.check_password(form.cleaned_data['password_prev']):
-                return render(request, 'change_password.html', {'form': form, 'errormessage': 'The currently existing password you entered is incorrect'})
+                return render(request, 'scipost/change_password.html', {'form': form, 'errormessage': 'The currently existing password you entered is incorrect'})
             # check for mismatching new passwords
             if form.cleaned_data['password_new'] != form.cleaned_data['password_verif']:
-                return render(request, 'change_password.html', {'form': form, 'errormessage': 'Your new password entries must match'})
+                return render(request, 'scipost/change_password.html', {'form': form, 'errormessage': 'Your new password entries must match'})
             # otherwise simply change the pwd:
             request.user.set_password(form.cleaned_data['password_new'])
             request.user.save()
-            return render(request, 'change_password_ack.html')
+            return render(request, 'scipost/change_password_ack.html')
     else:
         form = PasswordChangeForm()
-    return render (request, 'change_password.html', {'form': form})
+    return render (request, 'scipost/change_password.html', {'form': form})
 
 
 def change_password_ack(request):
-    return render (request, 'change_password_ack.html')
+    return render (request, 'scipost/change_password_ack.html')
 
 
 def update_personal_data(request):
@@ -224,18 +224,18 @@ def update_personal_data(request):
                 request.user.contributor.personalwebpage = form.cleaned_data['personalwebpage']
                 request.user.save()
                 request.user.contributor.save()
-                return render(request, 'update_personal_data_ack.html')
+                return render(request, 'scipost/update_personal_data_ack.html')
         else:
             #form = UpdatePersonalDataForm()
             aff = contributor.affiliation
             prefilldata = {'affiliation': aff}
             form = UpdatePersonalDataForm(initial=prefilldata)
-            return render(request, 'update_personal_data.html', {'form': form, 'contributor': contributor})
+            return render(request, 'scipost/update_personal_data.html', {'form': form, 'contributor': contributor})
     else:
         form = AuthenticationForm()
-        return render(request, 'login.html', {'form': form})
+        return render(request, 'scipost/login.html', {'form': form})
 
 
 def update_personal_data_ack(request):
-    return render (request, 'update_personal_data_ack.html')
+    return render (request, 'scipost/update_personal_data_ack.html')
 
diff --git a/submissions/migrations/0001_initial.py b/submissions/migrations/0001_initial.py
index 937dbc227a36a45624312153b26ab1714a8fe17d..87a9c40616d2ab46d33eb27a4e37de25266c387e 100644
--- a/submissions/migrations/0001_initial.py
+++ b/submissions/migrations/0001_initial.py
@@ -15,11 +15,11 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='Submission',
             fields=[
-                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
+                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
                 ('vetted', models.BooleanField(default=False)),
-                ('submitted_to_journal', models.CharField(max_length=30, choices=[('SciPost Physics Select', 'SciPost Physics Select'), ('SciPost Physics Letters', 'SciPost Physics Letters'), ('SciPost Physics X', 'SciPost Physics X (cross-division)'), ('SciPost Physics', 'SciPost Physics (Experimental, Theoretical and Computational)'), ('SciPost Physics Lecture Notes', 'SciPost Physics Lecture Notes')])),
-                ('domain', models.CharField(default='E', max_length=1, choices=[('E', 'Experimental'), ('T', 'Theoretical'), ('C', 'Computational')])),
-                ('specialization', models.CharField(max_length=1, choices=[('A', 'Atomic, Molecular and Optical Physics'), ('B', 'Biophysics'), ('C', 'Condensed Matter Physics'), ('F', 'Fluid Dynamics'), ('G', 'Gravitation, Cosmology and Astroparticle Physics'), ('H', 'High-Energy Physics'), ('M', 'Mathematical Physics'), ('N', 'Nuclear Physics'), ('Q', 'Quantum Statistical Mechanics'), ('S', 'Statistical and Soft Matter Physics')])),
+                ('submitted_to_journal', models.CharField(choices=[('SciPost Physics Select', 'SciPost Physics Select'), ('SciPost Physics Letters', 'SciPost Physics Letters'), ('SciPost Physics X', 'SciPost Physics X (cross-division)'), ('SciPost Physics', 'SciPost Physics (Experimental, Theoretical and Computational)'), ('SciPost Physics Lecture Notes', 'SciPost Physics Lecture Notes')], max_length=30)),
+                ('domain', models.CharField(choices=[('E', 'Experimental'), ('T', 'Theoretical'), ('C', 'Computational')], default='E', max_length=1)),
+                ('specialization', models.CharField(choices=[('A', 'Atomic, Molecular and Optical Physics'), ('B', 'Biophysics'), ('C', 'Condensed Matter Physics'), ('F', 'Fluid Dynamics'), ('G', 'Gravitation, Cosmology and Astroparticle Physics'), ('H', 'High-Energy Physics'), ('M', 'Mathematical Physics'), ('N', 'Nuclear Physics'), ('Q', 'Quantum Statistical Mechanics'), ('S', 'Statistical and Soft Matter Physics')], max_length=1)),
                 ('status', models.SmallIntegerField(choices=[(0, 'unassigned'), (1, 'editor in charge assigned'), (2, 'under review'), (3, 'reviewed, peer checking period'), (4, 'reviewed, peer checked, editorial decision pending'), (5, 'editorial decision')])),
                 ('open_for_reporting', models.BooleanField(default=True)),
                 ('open_for_commenting', models.BooleanField(default=True)),
@@ -29,18 +29,18 @@ class Migration(migrations.Migration):
                 ('arxiv_link', models.URLField(verbose_name='arXiv link (including version nr)')),
                 ('submission_date', models.DateField(verbose_name='date of original publication')),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('clarity_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('validity_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('rigour_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_originality_ratings', models.IntegerField(default=0)),
-                ('originality_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('originality_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('nr_significance_ratings', models.IntegerField(default=0)),
-                ('significance_rating', models.DecimalField(null=True, decimal_places=0, default=0, max_digits=3)),
+                ('significance_rating', models.DecimalField(max_digits=3, null=True, default=0, decimal_places=0)),
                 ('latest_activity', models.DateTimeField(default=django.utils.timezone.now)),
-                ('authors', models.ManyToManyField(related_name='authors_sub', blank=True, to='scipost.Contributor')),
-                ('editor_in_charge', models.ForeignKey(null=True, related_name='editor_in_charge', blank=True, to='scipost.Contributor')),
+                ('authors', models.ManyToManyField(to='scipost.Contributor', blank=True, related_name='authors_sub')),
+                ('editor_in_charge', models.ForeignKey(blank=True, related_name='editor_in_charge', to='scipost.Contributor', null=True)),
                 ('submitted_by', models.ForeignKey(to='scipost.Contributor')),
             ],
         ),