diff --git a/environment.bat.example b/environment.bat.example
index 7b9d14ba6a1b719ac0da4bfc8eb480ede78a5163..f13f7a2a823b8b7f193a892c8259961e6ef99cb5 100644
--- a/environment.bat.example
+++ b/environment.bat.example
@@ -1,3 +1,4 @@
 setx SECRET_KEY <CHANGE_TO_SECRET>
 setx AUTHSCH_KEY <CHANGE_TO_CLIENT_ID>
 setx AUTHSCH_SECRET <CHANGE_TO_AUTHSCH_SECRET>
+setx MEDIA_ROOT <DIRECTORY_OF_MEDIA>
diff --git a/environment.ps1.example b/environment.ps1.example
index 9b56e254a55ed75defe4a527c22a92f1950d503e..6fade2f1f0699c7d16be27095973a891506c3c98 100644
--- a/environment.ps1.example
+++ b/environment.ps1.example
@@ -1,3 +1,4 @@
 $env:SECRET_KEY=<CHANGE_TO_SECRET>
 $env:AUTHSCH_KEY=<CHANGE_TO_CLIENT_ID>
 $env:AUTHSCH_SECRET=<CHANGE_TO_AUTHSCH_SECRET>
+$env:MEDIA_ROOT=<DIRECTORY_OF_MEDIA>
diff --git a/environment.sh.example b/environment.sh.example
index 14c4e854dbdd5835050a4cc68d37c5bd0b59a28d..56aabd3c78e4a4a64423b525b16d391ced4d97eb 100644
--- a/environment.sh.example
+++ b/environment.sh.example
@@ -1,3 +1,4 @@
 export SECRET_KEY=<CHANGE_TO_SECRET>
 export AUTHSCH_KEY=<CHANGE_TO_CLIENT_ID>
 export AUTHSCH_SECRET=<CHANGE_TO_AUTHSCH_SECRET>
+export MEDIA_ROOT=<DIRECTORY_OF_MEDIA>
diff --git a/src/homework/migrations/0001_initial.py b/src/homework/migrations/0001_initial.py
index c06eb4269e2b206e70b8f7514767233c7345ca2b..b92796bcb9ea8806d6a15480b2d9ccfe95609d1e 100644
--- a/src/homework/migrations/0001_initial.py
+++ b/src/homework/migrations/0001_initial.py
@@ -1,12 +1,9 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.5 on 2018-01-24 12:09
-from __future__ import unicode_literals
+# Generated by Django 2.0.1 on 2018-04-05 08:33
 
-from django.conf import settings
+import common.validators
 import django.core.validators
 from django.db import migrations, models
 import django.db.models.deletion
-import homework.models
 
 
 class Migration(migrations.Migration):
@@ -14,7 +11,7 @@ class Migration(migrations.Migration):
     initial = True
 
     dependencies = [
-        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+        ('account', '0017_auto_20180205_2004'),
     ]
 
     operations = [
@@ -22,35 +19,29 @@ class Migration(migrations.Migration):
             name='Solution',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('date', models.DateTimeField(auto_now_add=True)),
-                ('ready', models.BooleanField()),
-                ('files', models.FileField(blank=True, upload_to='', validators=[django.core.validators.FileExtensionValidator('image/png', 'image/jpeg', 'application/zip')])),
-                ('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
-            ],
-        ),
-        migrations.CreateModel(
-            name='Student',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('homework', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='homework.Solution')),
-                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
+                ('created_at', models.DateTimeField(auto_now_add=True)),
+                ('updated_at', models.DateTimeField(auto_now=True)),
+                ('ready', models.BooleanField(default=False)),
+                ('accepted', models.BooleanField(default=False)),
+                ('files', models.FileField(upload_to='', validators=[django.core.validators.FileExtensionValidator(['png', 'jpeg', 'jpg', 'zip']), common.validators.FileSizeValidator(size_limit=52428800)])),
+                ('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student_solution', to='account.Profile')),
             ],
         ),
         migrations.CreateModel(
             name='Task',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('created_at', models.DateTimeField(auto_now_add=True)),
+                ('updated_at', models.DateTimeField(auto_now=True)),
                 ('title', models.CharField(max_length=150)),
-                ('date', models.DateTimeField(auto_now_add=True)),
-                ('deadline', models.DateTimeField()),
                 ('text', models.TextField()),
-                ('files', models.FileField(blank=True, upload_to='', validators=[django.core.validators.FileExtensionValidator('image/png', 'image/jpeg', 'application/zip')])),
-                ('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
+                ('deadline', models.DateTimeField()),
+                ('created_by', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='account.Profile')),
             ],
         ),
         migrations.AddField(
             model_name='solution',
             name='task',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='homework.Task'),
+            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='task_solution', to='homework.Task'),
         ),
     ]
diff --git a/src/homework/migrations/0002_auto_20180124_1453.py b/src/homework/migrations/0002_auto_20180124_1453.py
deleted file mode 100644
index 597c83e833b380d48452111a0e35eafaaa16969a..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0002_auto_20180124_1453.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.5 on 2018-01-24 13:53
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0001_initial'),
-    ]
-
-    operations = [
-        migrations.RemoveField(
-            model_name='student',
-            name='homework',
-        ),
-        migrations.RemoveField(
-            model_name='student',
-            name='user',
-        ),
-        migrations.AddField(
-            model_name='solution',
-            name='accepted',
-            field=models.BooleanField(default=False),
-        ),
-        migrations.AlterField(
-            model_name='solution',
-            name='created_by',
-            field=models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
-        ),
-        migrations.AlterField(
-            model_name='solution',
-            name='ready',
-            field=models.BooleanField(default=False),
-        ),
-        migrations.AlterField(
-            model_name='solution',
-            name='task',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='task_solution', to='homework.Task'),
-        ),
-        migrations.AlterField(
-            model_name='task',
-            name='created_by',
-            field=models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
-        ),
-        migrations.DeleteModel(
-            name='Student',
-        ),
-    ]
diff --git a/src/homework/migrations/0003_auto_20180124_1818.py b/src/homework/migrations/0003_auto_20180124_1818.py
deleted file mode 100644
index 1fcd873a015a4518dc233d5a7071279bd0fe7165..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0003_auto_20180124_1818.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.5 on 2018-01-24 17:18
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0002_auto_20180124_1453'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='task',
-            name='created_by',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/src/homework/migrations/0004_auto_20180125_1817.py b/src/homework/migrations/0004_auto_20180125_1817.py
deleted file mode 100644
index 9693462cf1df61aa81b3afd1810968e5b8ee444b..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0004_auto_20180125_1817.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.5 on 2018-01-25 17:17
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0003_auto_20180124_1818'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='solution',
-            name='created_by',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/src/homework/migrations/0004_auto_20180204_1209.py b/src/homework/migrations/0004_auto_20180204_1209.py
deleted file mode 100644
index 4a5edae2bf510af877be158eaf1179a88561f9ec..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0004_auto_20180204_1209.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.5 on 2018-02-04 11:09
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0003_auto_20180124_1818'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='solution',
-            name='created_by',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/src/homework/migrations/0005_auto_20180126_0135.py b/src/homework/migrations/0005_auto_20180126_0135.py
deleted file mode 100644
index 0155be9f4f3740b5aca421362a0b57b429fcd737..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0005_auto_20180126_0135.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# Generated by Django 2.0.1 on 2018-01-26 00:35
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0004_auto_20180125_1817'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='task',
-            name='created_by',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/src/homework/migrations/0005_auto_20180204_1525.py b/src/homework/migrations/0005_auto_20180204_1525.py
deleted file mode 100644
index 33d8e8b819be271f58c67f9fa6ef5fc023e30be0..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0005_auto_20180204_1525.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.5 on 2018-02-04 14:25
-from __future__ import unicode_literals
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0004_auto_20180204_1209'),
-    ]
-
-    operations = [
-        migrations.RenameField(
-            model_name='solution',
-            old_name='date',
-            new_name='alma',
-        ),
-    ]
diff --git a/src/homework/migrations/0006_auto_20180204_1601.py b/src/homework/migrations/0006_auto_20180204_1601.py
deleted file mode 100644
index f6bdbc058c2d151c208b0b03cddadb7cd7855e51..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0006_auto_20180204_1601.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.5 on 2018-02-04 15:01
-from __future__ import unicode_literals
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0005_auto_20180204_1525'),
-    ]
-
-    operations = [
-        migrations.RenameField(
-            model_name='solution',
-            old_name='alma',
-            new_name='date',
-        ),
-    ]
diff --git a/src/homework/migrations/0007_merge_20180205_2021.py b/src/homework/migrations/0007_merge_20180205_2021.py
deleted file mode 100644
index f48190e1e65e41a1bdd45dbd665ec1e08ea4181e..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0007_merge_20180205_2021.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# Generated by Django 2.0.1 on 2018-02-05 19:21
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0005_auto_20180126_0135'),
-        ('homework', '0006_auto_20180204_1601'),
-    ]
-
-    operations = [
-    ]
diff --git a/src/homework/migrations/0007_merge_20180209_1734.py b/src/homework/migrations/0007_merge_20180209_1734.py
deleted file mode 100644
index c23d34a1b4e62374505b1bf971d7dc7197ba6380..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0007_merge_20180209_1734.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# Generated by Django 2.0.1 on 2018-02-09 16:34
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0006_auto_20180204_1601'),
-        ('homework', '0005_auto_20180126_0135'),
-    ]
-
-    operations = [
-    ]
diff --git a/src/homework/migrations/0008_auto_20180221_1135.py b/src/homework/migrations/0008_auto_20180221_1135.py
deleted file mode 100644
index a26dfa28c3fc452842a879347fc14e663639d604..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0008_auto_20180221_1135.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# Generated by Django 2.0.1 on 2018-02-21 10:35
-
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0007_merge_20180209_1734'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='solution',
-            name='created_by',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student_solution', to='account.Profile'),
-        ),
-        migrations.AlterField(
-            model_name='task',
-            name='created_by',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='account.Profile'),
-        ),
-    ]
diff --git a/src/homework/migrations/0009_merge_20180404_0825.py b/src/homework/migrations/0009_merge_20180404_0825.py
deleted file mode 100644
index f571560b1b4a742a700c4cc132ec54dfcca51d1f..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0009_merge_20180404_0825.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# Generated by Django 2.0.1 on 2018-04-04 06:25
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0008_auto_20180221_1135'),
-        ('homework', '0007_merge_20180205_2021'),
-    ]
-
-    operations = [
-    ]
diff --git a/src/homework/migrations/0010_auto_20180404_0828.py b/src/homework/migrations/0010_auto_20180404_0828.py
deleted file mode 100644
index 5be35ff4d7666d295858224239b0a23465f51d6a..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0010_auto_20180404_0828.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# Generated by Django 2.0.1 on 2018-04-04 06:28
-
-import common.validators
-import django.core.validators
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0009_merge_20180404_0825'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='solution',
-            name='files',
-            field=models.FileField(blank=True, upload_to='', validators=[django.core.validators.FileExtensionValidator('image/png', 'image/jpeg', 'application/zip'), common.validators.FileSizeValidator(size_limit=52428800)]),
-        ),
-        migrations.AlterField(
-            model_name='task',
-            name='deadline',
-            field=models.DateTimeField(),
-        ),
-        migrations.AlterField(
-            model_name='task',
-            name='files',
-            field=models.FileField(blank=True, upload_to='', validators=[django.core.validators.FileExtensionValidator('image/png', 'image/jpeg', 'application/zip'), common.validators.FileSizeValidator(size_limit=52428800)]),
-        ),
-    ]
diff --git a/src/homework/migrations/0011_auto_20180404_0853.py b/src/homework/migrations/0011_auto_20180404_0853.py
deleted file mode 100644
index 0524fa088229ac404951a80687b7ff5f998c0b42..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0011_auto_20180404_0853.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# Generated by Django 2.0.1 on 2018-04-04 06:53
-
-import common.validators
-import django.core.validators
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0010_auto_20180404_0828'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='solution',
-            name='files',
-            field=models.FileField(blank=True, upload_to='', validators=[django.core.validators.FileExtensionValidator(['image/png', 'image/jpeg', 'application/zip']), common.validators.FileSizeValidator(size_limit=52428800)]),
-        ),
-        migrations.AlterField(
-            model_name='task',
-            name='files',
-            field=models.FileField(blank=True, upload_to='', validators=[django.core.validators.FileExtensionValidator(['image/png', 'image/jpeg', 'application/zip']), common.validators.FileSizeValidator(size_limit=52428800)]),
-        ),
-    ]
diff --git a/src/homework/migrations/0012_auto_20180404_1253.py b/src/homework/migrations/0012_auto_20180404_1253.py
deleted file mode 100644
index 7e021218357aafa06976bee38a1f261b339120e8..0000000000000000000000000000000000000000
--- a/src/homework/migrations/0012_auto_20180404_1253.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# Generated by Django 2.0.1 on 2018-04-04 10:53
-
-import common.validators
-import django.core.validators
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('homework', '0011_auto_20180404_0853'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='solution',
-            name='files',
-            field=models.FileField(upload_to='', validators=[django.core.validators.FileExtensionValidator(['image/png', 'image/jpeg', 'zip']), common.validators.FileSizeValidator(size_limit=52428800)]),
-        ),
-    ]
diff --git a/src/homework/models.py b/src/homework/models.py
index 5bf874009dedacd537d788332147898098c6128c..973fb45fb64cf4a1aee7b46e924e6235ce61dc05 100644
--- a/src/homework/models.py
+++ b/src/homework/models.py
@@ -6,22 +6,12 @@ from account.models import Profile
 
 
 class Task(models.Model):
+    created_by = models.ForeignKey(Profile, on_delete=models.DO_NOTHING)
+    created_at = models.DateTimeField(auto_now_add=True, editable=False)
+    updated_at = models.DateTimeField(auto_now=True, editable=False)
     title = models.CharField(max_length=150)
-    date = models.DateTimeField(auto_now_add=True, editable=False)
-    deadline = models.DateTimeField()
     text = models.TextField()
-    created_by = models.ForeignKey(Profile, on_delete=models.DO_NOTHING)
-    files = models.FileField(
-        validators=[
-            validators.FileExtensionValidator([
-                'image/png',
-                'image/jpeg',
-                'application/zip',
-            ]),
-            FileSizeValidator(size_limit=52428800),  # 52428800 - 50MiB
-        ],
-        blank=True,
-    )
+    deadline = models.DateTimeField()
 
     def __str__(self):
         return self.title
@@ -30,16 +20,21 @@ class Task(models.Model):
 class Solution(models.Model):
     task = models.ForeignKey(Task, related_name='task_solution', on_delete=models.CASCADE)
     created_by = models.ForeignKey(Profile, related_name='student_solution', on_delete=models.CASCADE)
-    date = models.DateTimeField(auto_now_add=True, editable=False)
+    created_at = models.DateTimeField(auto_now_add=True, editable=False)
+    updated_at = models.DateTimeField(auto_now=True, editable=False)
     ready = models.BooleanField(default=False)
     accepted = models.BooleanField(default=False)
     files = models.FileField(
         validators=[
             validators.FileExtensionValidator([
-                'image/png',
-                'image/jpeg',
+                'png',
+                'jpeg',
+                'jpg',
                 'zip',
             ]),
             FileSizeValidator(size_limit=52428800),  # 52428800 - 50MiB
         ],
     )
+
+    def __str__(self):
+        return "[{}] {}".format(self.created_at, self.created_by.full_name)
diff --git a/src/homework/myfields.py b/src/homework/myfields.py
deleted file mode 100644
index c343daa73b1aa8407ad21dfdab6f997d51c2a021..0000000000000000000000000000000000000000
--- a/src/homework/myfields.py
+++ /dev/null
@@ -1,41 +0,0 @@
-from django import forms
-from django.template.defaultfilters import filesizeformat
-from django.utils.translation import ugettext_lazy as _
-from django.core.exceptions import ValidationError
-
-
-class RestrictedFileField(forms.FileField):
-    """
-    Same as FileField, but you can specify:
-    * content_types - list containing allowed content_types. Example: ['application/pdf', 'image/jpeg']
-    * max_upload_size - a number indicating the maximum file size allowed for upload.
-        2.5MB - 2621440
-        5MB - 5242880
-        10MB - 10485760
-        20MB - 20971520
-        50MB - 5242880
-        100MB - 104857600
-        250MB - 214958080
-        500MB - 429916160
-"""
-
-    def __init__(self, *args, **kwargs):
-        self.content_types = kwargs.pop("content_types")
-        self.max_upload_size = kwargs.pop("max_upload_size")
-        super().__init__(*args, **kwargs)
-
-    def clean(self, data, initial=None):
-        file = super().clean(data, initial)
-
-        try:
-            content_type = file.content_type
-            if content_type in self.content_types:
-                if file._size > self.max_upload_size:
-                    raise ValidationError(_('Please keep filesize under %s. Current filesize %s') % (
-                        filesizeformat(self.max_upload_size), filesizeformat(file._size)))
-            else:
-                raise ValidationError(_('Filetype not supported.'))
-        except AttributeError:
-            pass
-
-        return data
diff --git a/src/homework/serializers.py b/src/homework/serializers.py
index a15f593eb03d7e2df55bbb4ea19fb948bfc9d8c1..afc29b433595e9cdfe53e2528e7d639f02f5bf62 100644
--- a/src/homework/serializers.py
+++ b/src/homework/serializers.py
@@ -10,18 +10,19 @@ class TaskSerializer(serializers.ModelSerializer):
 
     class Meta:
         model = models.Task
-        read_only_fields = ('created_by', 'date')
+        read_only_fields = ('created_by', 'created_at', 'updated_at')
         fields = '__all__'
 
 
 class SolutionSerializer(serializers.ModelSerializer):
-    date = serializers.DateTimeField(read_only=True)
+    created_at = serializers.DateTimeField(read_only=True)
+    updated_at = serializers.DateTimeField(read_only=True)
     created_by = serializers.HiddenField(default=CurrentUserProfileDefault())
 
     class Meta:
         model = models.Solution
-        read_only_fields = ('created_by', 'date' 'ready')
-        fields = ('task', 'date', 'accepted', 'files', 'created_by')
+        read_only_fields = ('created_by', 'created_at', 'updated_at', 'ready')
+        fields = ('task', 'created_at', 'updated_at', 'accepted', 'files', 'created_by')
 
     def validate(self, data):
         if timezone.now() > data['task'].deadline:
diff --git a/src/kszkepzes/settings/base.py b/src/kszkepzes/settings/base.py
index e19f0ee83398dac0da425ea3298ec6a593a1ab9d..277106b310ad176aa7268075d2b0a6e099ff2a22 100644
--- a/src/kszkepzes/settings/base.py
+++ b/src/kszkepzes/settings/base.py
@@ -153,3 +153,6 @@ USE_TZ = True
 # https://docs.djangoproject.com/en/1.11/howto/static-files/
 
 STATIC_URL = '/django-static/'
+
+MEDIA_ROOT = os.getenv('MEDIA_ROOT', '/tmp')
+MEDIA_URL = '/media/'
diff --git a/src/kszkepzes/urls.py b/src/kszkepzes/urls.py
index b696e393918a0e73867aae8dd1712ff633e77b4a..3b249d5dcce89907087234475c1d014328c81e3b 100644
--- a/src/kszkepzes/urls.py
+++ b/src/kszkepzes/urls.py
@@ -1,4 +1,6 @@
 from django.conf.urls import url, include
+from django.conf.urls.static import static
+from django.conf import settings
 from django.contrib import admin
 from django.contrib.auth import views as auth_views
 
@@ -9,6 +11,8 @@ urlpatterns = [
     url(r'^api/v1/', include('stats.urls')),
     url(r'^api/v1/', include('account.urls')),
     url(r'^api/v1/', include('news.urls')),
-
     url(r'^api/v1/logout/$', auth_views.LogoutView.as_view(), name='logout'),
 ]
+
+if settings.DEBUG:
+    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)