diff --git a/src/account/serializers.py b/src/account/serializers.py
index 1ceaf2d2f0f3a08782238c014653b5af899b19d4..edd0cde0024f259977034d8332b2217cc7b0abde 100644
--- a/src/account/serializers.py
+++ b/src/account/serializers.py
@@ -44,7 +44,8 @@ class ProfileSerializer(serializers.ModelSerializer):
         return value
 
     def validate_signed(self, value):
-        if value is False:
+        modifier = CurrentUserMiddleware.get_current_user_profile()
+        if value is False and modifier.role != "Staff":
             raise serializers.ValidationError("You cannot join without signed")
         return value
 
diff --git a/src/homework/migrations/0002_auto_20190121_2124.py b/src/homework/migrations/0002_auto_20190121_2124.py
new file mode 100644
index 0000000000000000000000000000000000000000..3abf5a83e87d8424a882e3c92f55af2f1478d3ee
--- /dev/null
+++ b/src/homework/migrations/0002_auto_20190121_2124.py
@@ -0,0 +1,23 @@
+# Generated by Django 2.0.1 on 2019-01-21 20:24
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('homework', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='solution',
+            name='accepted',
+            field=models.BooleanField(default=False),
+        ),
+        migrations.AlterField(
+            model_name='solution',
+            name='corrected',
+            field=models.BooleanField(default=False),
+        ),
+    ]
diff --git a/src/homework/models.py b/src/homework/models.py
index 692686e627bb1ace011332e3766640a9d211d170..4ecb6e958c9a9349ca39a26d75c57463f030c1fc 100755
--- a/src/homework/models.py
+++ b/src/homework/models.py
@@ -31,8 +31,8 @@ class Solution(models.Model):
     created_at = models.DateTimeField(auto_now_add=True, editable=False)
     updated_at = models.DateTimeField(auto_now=True, editable=False)
     note = models.TextField(blank=True, default='')
-    accepted = models.BooleanField()
-    corrected = models.BooleanField()
+    accepted = models.BooleanField(blank=True, default=False)
+    corrected = models.BooleanField(blank=True, default=False)
 
     def __str__(self):
         return "[{}] {}".format(self.created_at, self.created_by.full_name)
diff --git a/src/homework/serializers.py b/src/homework/serializers.py
index c6acde3b00cbcdeaaf52624ef5031455a2eff8e4..68c2980eebbf369399d27fa934535f300c90b88c 100755
--- a/src/homework/serializers.py
+++ b/src/homework/serializers.py
@@ -2,8 +2,9 @@ from rest_framework import serializers
 from django.utils import timezone
 from account.models import Profile
 from . import models
-from common.email import new_homework
+from common import email
 from common.middleware import CurrentUserMiddleware
+from common.email import homework_corrected
 
 
 class TaskSerializer(serializers.ModelSerializer):
@@ -19,7 +20,7 @@ class TaskSerializer(serializers.ModelSerializer):
 
     def create(self, validated_data):
         emails = Profile.objects.filter(role="Student").exclude(user__email='').values_list('user__email', flat=True)
-        new_homework(emails)
+        email.new_homework(emails)
         return self.Meta.model.objects.create(**validated_data)