diff --git a/commentaries/forms.py b/commentaries/forms.py
index 60f785b6c123b8bd2a6277954aa54ebc92c78ba9..13853394b85b44f6eed86fd942173a1bf490dd49 100644
--- a/commentaries/forms.py
+++ b/commentaries/forms.py
@@ -14,16 +14,18 @@ COMMENTARY_REFUSAL_CHOICES = (
     (-2, 'this paper cannot be traced'),
     )
 
-
-
-class RequestCommentaryForm(forms.Form):
-    type = forms.ChoiceField(choices=COMMENTARY_TYPES)
-    pub_title = forms.CharField(max_length=300, label="Title")
-    author_list = forms.CharField(max_length=1000)
-    pub_date = forms.DateField(label="Publication date (YYYY-MM-DD)")
-    arxiv_link = forms.URLField(label='arXiv link (including version nr)', required=False)
-    pub_DOI_link = forms.URLField(label='DOI link to the published version', required=False)
-    pub_abstract = forms.CharField(widget=forms.Textarea, label="Abstract") # need TextField but doesn't exist
+#class RequestCommentaryForm(forms.Form):
+#    type = forms.ChoiceField(choices=COMMENTARY_TYPES)
+#    pub_title = forms.CharField(max_length=300, label="Title")
+#    author_list = forms.CharField(max_length=1000)
+#    pub_date = forms.DateField(label="Publication date (YYYY-MM-DD)")
+#    arxiv_link = forms.URLField(label='arXiv link (including version nr)', required=False)
+#    pub_DOI_link = forms.URLField(label='DOI link to the published version', required=False)
+#    pub_abstract = forms.CharField(widget=forms.Textarea, label="Abstract") # need TextField but doesn't exist
+class RequestCommentaryForm(forms.ModelForm):
+    class Meta:
+        model = Commentary
+        fields = ['type', 'pub_title', 'author_list', 'pub_date', 'arxiv_link', 'pub_DOI_link', 'pub_abstract']
     
 class VetCommentaryForm(forms.Form):
     action_option = forms.ChoiceField(widget=forms.RadioSelect, choices=COMMENTARY_ACTION_CHOICES, required=True, label='Action')
diff --git a/commentaries/migrations/0001_initial.py b/commentaries/migrations/0001_initial.py
index e798f7a3c20d129b0c0f21f9b6d958a0403dd339..51c59ffdaeb869693ac2371c804eb63bbd767bd1 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(verbose_name='ID', serialize=False, primary_key=True, auto_created=True)),
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('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(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('clarity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('validity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('rigour_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_originality_ratings', models.IntegerField(default=0)),
-                ('originality_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('originality_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_significance_ratings', models.IntegerField(default=0)),
-                ('significance_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('significance_rating', models.DecimalField(default=0, max_digits=3, null=True, 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, blank=True, related_name='requested_by', to='scipost.Contributor')),
-                ('vetted_by', models.ForeignKey(null=True, blank=True, to='scipost.Contributor')),
+                ('authors', models.ManyToManyField(blank=True, related_name='authors_com', to='scipost.Contributor')),
+                ('requested_by', models.ForeignKey(blank=True, to='scipost.Contributor', related_name='requested_by', null=True)),
+                ('vetted_by', models.ForeignKey(blank=True, to='scipost.Contributor', null=True)),
             ],
         ),
     ]
diff --git a/commentaries/models.py b/commentaries/models.py
index b90e7d139f40c5b078460c7d6adff5eff3bb1616..cb62119d66a1a9526d5933e1050aff96e5da4d4f 100644
--- a/commentaries/models.py
+++ b/commentaries/models.py
@@ -16,16 +16,16 @@ class Commentary(models.Model):
     requested_by = models.ForeignKey (Contributor, blank=True, null=True, related_name='requested_by')
     vetted = models.BooleanField(default=False)
     vetted_by = models.ForeignKey (Contributor, blank=True, null=True)
-    type = models.CharField(max_length=9) # published paper or arxiv preprint
+    type = models.CharField(max_length=9, choices=COMMENTARY_TYPES) # published paper or arxiv preprint
     open_for_commenting = models.BooleanField(default=True)
-    pub_title = models.CharField(max_length=300)
-    arxiv_link = models.URLField(verbose_name='arXiv link (including version nr)')
-    pub_DOI_link = models.URLField(verbose_name='DOI link to the original publication')
+    pub_title = models.CharField(max_length=300, verbose_name='title')
+    arxiv_link = models.URLField(verbose_name='arXiv link (including version nr)', blank=True)
+    pub_DOI_link = models.URLField(verbose_name='DOI link to the original publication', blank=True)
     author_list = models.CharField(max_length=1000)
     # Authors which have been mapped to contributors:
     authors = models.ManyToManyField (Contributor, blank=True, related_name='authors_com')
     pub_date = models.DateField(verbose_name='date of original publication')
-    pub_abstract = models.TextField()
+    pub_abstract = models.TextField(verbose_name='abstract')
 
     nr_clarity_ratings = models.IntegerField(default=0)
     clarity_rating = models.DecimalField(default=0, max_digits=3, decimal_places=0, null=True)
diff --git a/comments/forms.py b/comments/forms.py
index 12e89fbed369c6cf9b9b8c44c6b5f6a8b40e414e..d2c4632d86e73d5063a21ece9a2b20be04b3aecf 100644
--- a/comments/forms.py
+++ b/comments/forms.py
@@ -15,8 +15,6 @@ COMMENT_REFUSAL_CHOICES = (
     (-3, 'not useful'),
     )
 
-
-
 AUTHOR_REPLY_ACTION_CHOICES = (
 #    (0, 'modify'), 
     (1, 'accept'), 
@@ -32,18 +30,22 @@ AUTHOR_REPLY_REFUSAL_CHOICES = (
     )
 
 
+#class CommentForm(forms.Form):
+##    category = forms.MultipleChoiceField(choices=COMMENT_CATEGORIES, widget=forms.CheckboxSelectMultiple(), label='Please categorize your comment (multiple choices allowed):')
+#    is_rem = forms.BooleanField(required=False, label='remark')
+#    is_que = forms.BooleanField(required=False, label='question')
+#    is_ans = forms.BooleanField(required=False, label='answer to question')
+#    is_obj = forms.BooleanField(required=False, label='objection')
+#    is_rep = forms.BooleanField(required=False, label='reply to objection')
+#    is_val = forms.BooleanField(required=False, label='validation or rederivation')
+#    is_lit = forms.BooleanField(required=False, label='pointer to related literature')
+#    is_sug = forms.BooleanField(required=False, label='suggestions for further work')
+#    comment_text = forms.CharField(widget=forms.Textarea(attrs={'rows': 10, 'cols':80}), label='', required=True) # need TextField but doesn't exist
+class CommentForm(forms.ModelForm):
+    class Meta:
+        model = Comment
+        fields = ['is_rem', 'is_que', 'is_ans', 'is_obj', 'is_rep', 'is_val', 'is_lit', 'is_sug', 'comment_text']
 
-class CommentForm(forms.Form):
-#    category = forms.MultipleChoiceField(choices=COMMENT_CATEGORIES, widget=forms.CheckboxSelectMultiple(), label='Please categorize your comment (multiple choices allowed):')
-    is_rem = forms.BooleanField(required=False, label='remark')
-    is_que = forms.BooleanField(required=False, label='question')
-    is_ans = forms.BooleanField(required=False, label='answer to question')
-    is_obj = forms.BooleanField(required=False, label='objection')
-    is_rep = forms.BooleanField(required=False, label='reply to objection')
-    is_val = forms.BooleanField(required=False, label='validation or rederivation')
-    is_lit = forms.BooleanField(required=False, label='pointer to related literature')
-    is_sug = forms.BooleanField(required=False, label='suggestions for further work')
-    comment_text = forms.CharField(widget=forms.Textarea(attrs={'rows': 10, 'cols':80}), label='', required=True) # need TextField but doesn't exist
 
 class VetCommentForm(forms.Form):
     action_option = forms.ChoiceField(widget=forms.RadioSelect, choices=COMMENT_ACTION_CHOICES, required=True, label='Action')
@@ -51,9 +53,13 @@ class VetCommentForm(forms.Form):
     email_response_field = forms.CharField(widget=forms.Textarea(), label='Justification (optional)', required=False)
 
 
-class AuthorReplyForm(forms.Form):
-    reply_text = forms.CharField(widget=forms.Textarea(attrs={'rows': 10, 'cols':80}), label='', required=True) 
-# need TextField but doesn't exist
+#class AuthorReplyForm(forms.Form):
+#    reply_text = forms.CharField(widget=forms.Textarea(attrs={'rows': 10, 'cols':80}), label='', required=True) 
+## need TextField but doesn't exist
+class AuthorReplyForm(forms.ModelForm):
+    class Meta:
+        model = AuthorReply
+        fields = ['reply_text']
 
 class VetAuthorReplyForm(forms.Form):
     action_option = forms.ChoiceField(widget=forms.RadioSelect, choices=AUTHOR_REPLY_ACTION_CHOICES, required=True, label='Action')
diff --git a/comments/migrations/0001_initial.py b/comments/migrations/0001_initial.py
index cda402bdab55a98c82e5e3e53d566f2d082a7882..8404853e566ba7c82bedeb3cd99557ee13b6e7cf 100644
--- a/comments/migrations/0001_initial.py
+++ b/comments/migrations/0001_initial.py
@@ -7,37 +7,37 @@ from django.db import migrations, models
 class Migration(migrations.Migration):
 
     dependencies = [
-        ('scipost', '0001_initial'),
         ('submissions', '0001_initial'),
         ('commentaries', '0001_initial'),
+        ('scipost', '0001_initial'),
     ]
 
     operations = [
         migrations.CreateModel(
             name='AuthorReply',
             fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, primary_key=True, auto_created=True)),
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('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(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('relevance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_importance_ratings', models.IntegerField(default=0)),
-                ('importance_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('importance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('clarity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('validity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('rigour_rating', models.DecimalField(default=0, max_digits=3, null=True, 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(verbose_name='ID', serialize=False, primary_key=True, auto_created=True)),
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('status', models.SmallIntegerField(default=0)),
                 ('is_rem', models.BooleanField(default=False, verbose_name='remark')),
                 ('is_que', models.BooleanField(default=False, verbose_name='question')),
@@ -50,34 +50,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(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('relevance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_importance_ratings', models.IntegerField(default=0)),
-                ('importance_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('importance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('clarity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('validity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('rigour_rating', models.DecimalField(default=0, max_digits=3, null=True, 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='submissions.Report'),
+            field=models.ForeignKey(blank=True, to='submissions.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/comments/models.py b/comments/models.py
index 73e84820004309db225f6500e46f2732982ce45e..77ed104acdd9542eefd8c2cdef88eb2b92d01f18 100644
--- a/comments/models.py
+++ b/comments/models.py
@@ -26,8 +26,6 @@ COMMENT_CATEGORIES = (
     ('SUG', 'suggestion for further work'),
     )
 
-
-
 class Comment(models.Model):
     """ A Comment is an unsollicited note, submitted by a Contributor, on a particular publication or in reply to an earlier Comment. """
     # status:
@@ -83,7 +81,7 @@ class AuthorReply(models.Model):
     in_reply_to_comment = models.ForeignKey(Comment, blank=True, null=True) # one of this and next must be not null
     in_reply_to_report = models.ForeignKey(Report, blank=True, null=True)
     author = models.ForeignKey(Contributor)
-    reply_text = models.TextField()
+    reply_text = models.TextField(verbose_name="")
     date_submitted = models.DateTimeField('date submitted')
     # Aggregates of ratings applied to this comment:
     nr_relevance_ratings = models.IntegerField(default=0)
diff --git a/journals/models.py b/journals/models.py
index b64ff88b6653efcab92241431bab8a8e2d01f9fb..956a6385064f81fad69478782627f7d12f1959c4 100644
--- a/journals/models.py
+++ b/journals/models.py
@@ -49,6 +49,10 @@ SCIPOST_JOURNALS_DOMAINS = (
     ('E', 'Experimental'),
     ('T', 'Theoretical'),
     ('C', 'Computational'),
+    ('ET', 'Exp. & Theor.'),
+    ('EC', 'Exp. & Comp.'),
+    ('TC', 'Theor. & Comp.'),
+    ('ETC', 'Exp., Theor. & Comp.'), 
 )
 
 SCIPOST_JOURNALS_SPECIALIZATIONS = (
diff --git a/ratings/migrations/0001_initial.py b/ratings/migrations/0001_initial.py
index 43fc9d0649e205ddbfda00208ed6f577ddd75b0c..efcd95e5cf18dae994c7ff6836f95a38c698cbbe 100644
--- a/ratings/migrations/0001_initial.py
+++ b/ratings/migrations/0001_initial.py
@@ -7,22 +7,22 @@ from django.db import migrations, models
 class Migration(migrations.Migration):
 
     dependencies = [
-        ('scipost', '0001_initial'),
         ('submissions', '0001_initial'),
-        ('comments', '0001_initial'),
         ('commentaries', '0001_initial'),
+        ('comments', '0001_initial'),
+        ('scipost', '0001_initial'),
     ]
 
     operations = [
         migrations.CreateModel(
             name='AuthorReplyRating',
             fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, primary_key=True, auto_created=True)),
-                ('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%')))),
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('relevance', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('importance', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('clarity', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('validity', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('rigour', models.PositiveSmallIntegerField(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%')), null=True)),
                 ('authorreply', models.ForeignKey(to='comments.AuthorReply')),
                 ('rater', models.ForeignKey(to='scipost.Contributor')),
             ],
@@ -33,12 +33,12 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='CommentaryRating',
             fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, primary_key=True, auto_created=True)),
-                ('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%')))),
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('clarity', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('validity', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('rigour', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('originality', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('significance', models.PositiveSmallIntegerField(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%')), null=True)),
                 ('commentary', models.ForeignKey(to='commentaries.Commentary')),
                 ('rater', models.ForeignKey(to='scipost.Contributor')),
             ],
@@ -49,12 +49,12 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='CommentRating',
             fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, primary_key=True, auto_created=True)),
-                ('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%')))),
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('relevance', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('importance', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('clarity', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('validity', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('rigour', models.PositiveSmallIntegerField(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%')), null=True)),
                 ('comment', models.ForeignKey(to='comments.Comment')),
                 ('rater', models.ForeignKey(to='scipost.Contributor')),
             ],
@@ -65,12 +65,12 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='ReportRating',
             fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, primary_key=True, auto_created=True)),
-                ('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%')))),
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('relevance', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('importance', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('clarity', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('validity', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('rigour', models.PositiveSmallIntegerField(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%')), null=True)),
                 ('rater', models.ForeignKey(to='scipost.Contributor')),
                 ('report', models.ForeignKey(to='submissions.Report')),
             ],
@@ -81,12 +81,12 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='SubmissionRating',
             fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, primary_key=True, auto_created=True)),
-                ('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%')))),
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('clarity', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('validity', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('rigour', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('originality', models.PositiveSmallIntegerField(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%')), null=True)),
+                ('significance', models.PositiveSmallIntegerField(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%')), null=True)),
                 ('rater', models.ForeignKey(to='scipost.Contributor')),
                 ('submission', models.ForeignKey(to='submissions.Submission')),
             ],
diff --git a/scipost/forms.py b/scipost/forms.py
index 39550cb847a966a8ddfafc19c7453caea5d89fe5..1d67485d6224ed13bbf4e13e3702855b93a3a622 100644
--- a/scipost/forms.py
+++ b/scipost/forms.py
@@ -1,4 +1,4 @@
-from django import forms
+from django import forms 
 
 from .models import *
 
@@ -33,6 +33,11 @@ class UpdatePersonalDataForm(forms.Form):
     affiliation = forms.CharField(label='Affiliation', max_length=300)
     address = forms.CharField(label='Address', max_length=1000, required=False)
     personalwebpage = forms.URLField(label='Personal web page', required=False)
+#class UpdatePersonalDataForm(forms.ModelForm):
+#    class Meta:
+#        model = Contributor
+#        fields = ['title', 'user.first_name', 'user.last_name', 'user.email', 'orcid_id', 'affiliation', 'address', 'personalwebpage']
+#        #fields = ['title', 'orcid_id', 'affiliation', 'address', 'personalwebpage']
 
 class VetRegistrationForm(forms.Form):
     promote_to_rank_1 = forms.BooleanField(required=False)
diff --git a/scipost/views.py b/scipost/views.py
index 7db4ab8715ed3ac2162cce8e61ee8bb6f1b0de8c..7b37984a7af08e2e5a420590ec78d419ae28adb4 100644
--- a/scipost/views.py
+++ b/scipost/views.py
@@ -229,6 +229,9 @@ def update_personal_data(request):
             prefilldata = {'affiliation': aff}
             form = UpdatePersonalDataForm(initial=prefilldata)
             return render(request, 'scipost/update_personal_data.html', {'form': form, 'contributor': contributor})
+            # Use ModelForm instead:
+            #form = UpdatePersonalDataForm(instance=contributor)
+            #return render(request, 'scipost/update_personal_data.html', {'form': form})
     else:
         form = AuthenticationForm()
         return render(request, 'scipost/login.html', {'form': form})
diff --git a/submissions/forms.py b/submissions/forms.py
index 124d4e79acf14c79e9c86cbaf1d4f119ffa6148f..44ff75e5351450156a533badf004e961b59c332d 100644
--- a/submissions/forms.py
+++ b/submissions/forms.py
@@ -4,14 +4,18 @@ from .models import *
 
 from ratings.models import *
 
-class SubmissionForm(forms.Form):
-    submitted_to_journal = forms.ChoiceField(choices=SCIPOST_JOURNALS_SUBMIT, required=True, label='SciPost Journal to submit to:')
-    domain = forms.ChoiceField(choices=SCIPOST_JOURNALS_DOMAINS)
-    specialization = forms.ChoiceField(choices=SCIPOST_JOURNALS_SPECIALIZATIONS)
-    title = forms.CharField(max_length=300, required=True, label='Title')
-    author_list = forms.CharField(max_length=1000, required=True)
-    abstract = forms.CharField(widget=forms.Textarea(attrs={'rows': 10, 'cols':60}), label='Abstract', required=True) # need TextField but doesn't exist
-    arxiv_link = forms.URLField(label='arXiv link (including version nr)', required=True)
+#class SubmissionForm(forms.Form):
+#    submitted_to_journal = forms.ChoiceField(choices=SCIPOST_JOURNALS_SUBMIT, required=True, label='SciPost Journal to submit to:')
+#    domain = forms.ChoiceField(choices=SCIPOST_JOURNALS_DOMAINS)
+#    specialization = forms.ChoiceField(choices=SCIPOST_JOURNALS_SPECIALIZATIONS)
+#    title = forms.CharField(max_length=300, required=True, label='Title')
+#    author_list = forms.CharField(max_length=1000, required=True)
+#    abstract = forms.CharField(widget=forms.Textarea(attrs={'rows': 10, 'cols':60}), label='Abstract', required=True) # need TextField but doesn't exist
+#    arxiv_link = forms.URLField(label='arXiv link (including version nr)', required=True)
+class SubmissionForm(forms.ModelForm):
+    class Meta:
+        model = Submission
+        fields = ['submitted_to_journal', 'domain', 'specialization', 'title', 'author_list', 'abstract', 'arxiv_link']
 
 class ProcessSubmissionForm(forms.Form):
     editor_in_charge = forms.ModelChoiceField(queryset=Contributor.objects.filter(rank__gte=3), required=True)
@@ -40,13 +44,17 @@ REPORT_REFUSAL_CHOICES = (
     (-4, 'not academic in style'),
     )
 
-class ReportForm(forms.Form):
-    qualification = forms.ChoiceField(RATING_CHOICES, label='Your degree of qualification in assessing this Submission')
-    strengths = forms.CharField(widget=forms.Textarea(), required=False)
-    weaknesses = forms.CharField(widget=forms.Textarea(), required=False)
-    report = forms.CharField(widget=forms.Textarea(), required=False)
-    requested_changes = forms.CharField(widget=forms.Textarea(), required=False)
-    recommendation = forms.ChoiceField(choices=REPORT_REC)
+#class ReportForm(forms.Form):
+#    qualification = forms.ChoiceField(RATING_CHOICES, label='Your degree of qualification in assessing this Submission')
+#    strengths = forms.CharField(widget=forms.Textarea(), required=False)
+#    weaknesses = forms.CharField(widget=forms.Textarea(), required=False)
+#    report = forms.CharField(widget=forms.Textarea(), required=False)
+#    requested_changes = forms.CharField(widget=forms.Textarea(), required=False)
+#    recommendation = forms.ChoiceField(choices=REPORT_REC)
+class ReportForm(forms.ModelForm):
+    class Meta:
+        model = Report
+        fields = ['qualification', 'strengths', 'weaknesses', 'report', 'requested_changes', 'recommendation']
 
 class VetReportForm(forms.Form):
     action_option = forms.ChoiceField(widget=forms.RadioSelect, choices=REPORT_ACTION_CHOICES, required=True, label='Action')
diff --git a/submissions/migrations/0001_initial.py b/submissions/migrations/0001_initial.py
index 07ae59293cb4da6b359ae1ff1fd3a6deb40e6f2c..5b3c9b3580f80208ede42ef8892c09546fbdf06b 100644
--- a/submissions/migrations/0001_initial.py
+++ b/submissions/migrations/0001_initial.py
@@ -15,7 +15,7 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='Report',
             fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, primary_key=True, auto_created=True)),
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('status', models.SmallIntegerField(default=0)),
                 ('qualification', models.PositiveSmallIntegerField(default=0)),
                 ('strengths', models.TextField()),
@@ -23,29 +23,29 @@ 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, verbose_name='date invited', blank=True)),
+                ('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(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('relevance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_importance_ratings', models.IntegerField(default=0)),
-                ('importance_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('importance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('clarity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('validity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('rigour_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('author', models.ForeignKey(to='scipost.Contributor')),
-                ('invited_by', models.ForeignKey(null=True, blank=True, related_name='invited_by', to='scipost.Contributor')),
+                ('invited_by', models.ForeignKey(blank=True, to='scipost.Contributor', related_name='invited_by', null=True)),
             ],
         ),
         migrations.CreateModel(
             name='Submission',
             fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, primary_key=True, auto_created=True)),
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('vetted', models.BooleanField(default=False)),
                 ('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)),
+                ('domain', models.CharField(default='E', choices=[('E', 'Experimental'), ('T', 'Theoretical'), ('C', 'Computational')], 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)),
@@ -56,18 +56,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(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('clarity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('validity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('rigour_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_originality_ratings', models.IntegerField(default=0)),
-                ('originality_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('originality_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
                 ('nr_significance_ratings', models.IntegerField(default=0)),
-                ('significance_rating', models.DecimalField(default=0, null=True, decimal_places=0, max_digits=3)),
+                ('significance_rating', models.DecimalField(default=0, max_digits=3, null=True, 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, blank=True, related_name='editor_in_charge', to='scipost.Contributor')),
+                ('authors', models.ManyToManyField(blank=True, related_name='authors_sub', to='scipost.Contributor')),
+                ('editor_in_charge', models.ForeignKey(blank=True, to='scipost.Contributor', related_name='editor_in_charge', null=True)),
                 ('submitted_by', models.ForeignKey(to='scipost.Contributor')),
             ],
         ),
diff --git a/submissions/models.py b/submissions/models.py
index 940a5289c9b3548fde73d42b9bf121a4ddf2a027..6ab140544a3f557ce67c07fa910837a0e16c905a 100644
--- a/submissions/models.py
+++ b/submissions/models.py
@@ -26,14 +26,14 @@ class Submission(models.Model):
     submitted_by = models.ForeignKey(Contributor)
     vetted = models.BooleanField(default=False)
     editor_in_charge = models.ForeignKey(Contributor, related_name="editor_in_charge", blank=True, null=True) # assigned by Journal Editor
-    submitted_to_journal = models.CharField(max_length=30, choices=SCIPOST_JOURNALS)
-    domain = models.CharField(max_length=1, choices=SCIPOST_JOURNALS_DOMAINS, default='E')
+    submitted_to_journal = models.CharField(max_length=30, choices=SCIPOST_JOURNALS_SUBMIT)
+    domain = models.CharField(max_length=3, choices=SCIPOST_JOURNALS_DOMAINS)
     specialization = models.CharField(max_length=1, choices=SCIPOST_JOURNALS_SPECIALIZATIONS)
     status = models.SmallIntegerField(choices=SUBMISSION_STATUS) # set by Editors
     open_for_reporting = models.BooleanField(default=True)
     open_for_commenting = models.BooleanField(default=True)
     title = models.CharField(max_length=300)
-    author_list = models.CharField(max_length=1000)
+    author_list = models.CharField(max_length=1000, verbose_name="author list")
     # Authors which have been mapped to contributors:
     authors = models.ManyToManyField (Contributor, blank=True, related_name='authors_sub')
     abstract = models.TextField()
@@ -84,7 +84,7 @@ class Report(models.Model):
     strengths = models.TextField()
     weaknesses = models.TextField()
     report = models.TextField()
-    requested_changes = models.TextField()
+    requested_changes = models.TextField(verbose_name="requested changes")
     recommendation = models.SmallIntegerField(choices=REPORT_REC)
     date_invited = models.DateTimeField('date invited', blank=True, null=True)
     invited_by = models.ForeignKey(Contributor, blank=True, null=True, related_name='invited_by')