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/common/serializers.py b/src/common/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..5e088623aa7d51eb2bdb7d73bec6d22a6e8777ce
--- /dev/null
+++ b/src/common/serializers.py
@@ -0,0 +1,12 @@
+from rest_framework import compat
+
+
+class CurrentUserProfileDefault(object):
+    def set_context(self, serializer_field):
+        self.user = serializer_field.context['request'].user
+
+    def __call__(self):
+        return self.user.profile
+
+    def __repr__(self):
+        return compat.unicode_to_repr('%s()' % self.__class__.__name__)
diff --git a/src/common/validators.py b/src/common/validators.py
new file mode 100644
index 0000000000000000000000000000000000000000..343f781994180b3c1cdaa3c35a6607d31cb527de
--- /dev/null
+++ b/src/common/validators.py
@@ -0,0 +1,26 @@
+from django.core import exceptions
+from django.utils.deconstruct import deconstructible
+from django.utils.translation import ugettext_lazy as _
+
+
+@deconstructible
+class FileSizeValidator():
+    size_limit = 5242880  # 5MB - 5242880
+    message = _('Too big file. %(size)d')
+    code = 'invalid'
+
+    def __init__(self, size_limit=None, message=None, code=None):
+        if size_limit is not None:
+            self.size_limit = size_limit
+        if message is not None:
+            self.message = message
+        if code is not None:
+            self.code = code
+
+    def __call__(self, file):
+        if file.size > self.size_limit:
+            raise exceptions.ValidationError(
+                self.message,
+                code=self.code,
+                params={'size': file.size}
+            )
diff --git a/src/homework/__init__.py b/src/homework/__init__.py
old mode 100644
new mode 100755
diff --git a/src/homework/admin.py b/src/homework/admin.py
old mode 100644
new mode 100755
diff --git a/src/homework/apps.py b/src/homework/apps.py
old mode 100644
new mode 100755
diff --git a/src/homework/migrations/0001_initial.py b/src/homework/migrations/0001_initial.py
old mode 100644
new mode 100755
index 57b9c1f5cea623dae04423523f427ff85e27bdc3..b92796bcb9ea8806d6a15480b2d9ccfe95609d1e
--- 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(validators=[homework.models.validate_deadline])),
                 ('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/0002_auto_20180411_0047.py b/src/homework/migrations/0002_auto_20180411_0047.py
new file mode 100644
index 0000000000000000000000000000000000000000..cafe25c08698315b551c3d0d0eaa5430eb0ef5d5
--- /dev/null
+++ b/src/homework/migrations/0002_auto_20180411_0047.py
@@ -0,0 +1,22 @@
+# Generated by Django 2.0.1 on 2018-04-10 22:47
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('homework', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='solution',
+            name='ready',
+        ),
+        migrations.AlterField(
+            model_name='solution',
+            name='accepted',
+            field=models.BooleanField(),
+        ),
+    ]
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/__init__.py b/src/homework/migrations/__init__.py
old mode 100644
new mode 100755
diff --git a/src/homework/models.py b/src/homework/models.py
old mode 100644
new mode 100755
index 5a8b2026a6deb3909a5129278e4695b58bcf47ba..a62333df3d2905702b87c01d835bf099e47b49fd
--- a/src/homework/models.py
+++ b/src/homework/models.py
@@ -1,69 +1,40 @@
 from django.db import models
-from django.contrib.auth.models import User
-from django.core.exceptions import ValidationError
-from django.utils.translation import ugettext_lazy as _
-from django.utils import timezone
 from django.core import validators
-# from . import myfields
 
+from common.validators import FileSizeValidator
+from account.models import Profile
 
-# 5MB - 5242880
-__MAX_UPLOAD_SIZE = 5242880
-
-
-def validate_deadline(date):
-    if date <= timezone.now():
-        raise ValidationError(_('Date must be greater than now'), code='invalid')
-
-
-# def validate_file_size(file):
-#     if file._size > __MAX_UPLOAD_SIZE:
-#         raise ValidationError(_('Please keep filesize under' + __MAX_UPLOAD_SIZE))
 
 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(validators=[validate_deadline])
     text = models.TextField()
-    created_by = models.ForeignKey(User, on_delete=models.DO_NOTHING)
-    files = models.FileField(
-        validators=[validators.FileExtensionValidator(
-            'image/png',
-            'image/jpeg',
-            'application/zip',
-        )],
-        blank=True,
-    )
-    # files = myfields.RestrictedFileField(
-    #     content_types=['image/png', 'image/jpeg', 'application/zip'],
-    #     max_upload_size=MAX_UPLOAD_SIZE,
-    #     blank=True,
-    #     null=True,
-    # )
-#    solution_file = models.BooleanField()
-#
-#    def clean(self):
-#        if self.deadline <= timezone.now():
-#            raise ValidationError(_('Invalid date'), code='invalid')
+    deadline = models.DateTimeField()
+    # dokumentum kezeles
+
+    def __str__(self):
+        return self.title
 
 
 class Solution(models.Model):
     task = models.ForeignKey(Task, related_name='task_solution', on_delete=models.CASCADE)
-    # student = models.ForeignKey(account.models.Profile, related_name='student_solution',  on_delete=models.CASCADE)
-    date = models.DateTimeField(auto_now_add=True, editable=False)
-    ready = models.BooleanField(default=False)  # if(Soulution.date <= Task.deadline)
-    accepted = models.BooleanField(default=False)
+    created_by = models.ForeignKey(Profile, related_name='student_solution', on_delete=models.CASCADE)
+    created_at = models.DateTimeField(auto_now_add=True, editable=False)
+    updated_at = models.DateTimeField(auto_now=True, editable=False)
+    accepted = models.BooleanField()
     files = models.FileField(
-        validators=[validators.FileExtensionValidator(
-            'image/png',
-            'image/jpeg',
-            'application/zip',
-        )],
-        blank=True,
+        validators=[
+            validators.FileExtensionValidator([
+                'png',
+                'jpeg',
+                'jpg',
+                'zip',
+            ]),
+            FileSizeValidator(size_limit=52428800),  # 52428800 - 50MiB
+        ],
     )
-    created_by = models.ForeignKey(User, on_delete=models.CASCADE)
-    # files = myfields.RestrictedFileField(
-    #     content_types=['image/png', 'image/jpeg', 'application/zip'],
-    #     max_upload_size=MAX_UPLOAD_SIZE,
-    #     blank=True,
-    # )
+
+    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
old mode 100644
new mode 100755
index 4ce68b43063f2a4b52158fbc2e78a074333653b8..f7d7c81b2d31467a445b1d9a547808b85c9bc6f4
--- a/src/homework/serializers.py
+++ b/src/homework/serializers.py
@@ -1,27 +1,39 @@
 from rest_framework import serializers
+from django.utils import timezone
+
+from common.serializers import CurrentUserProfileDefault
 from . import models
 
 
 class TaskSerializer(serializers.ModelSerializer):
+    created_by = serializers.HiddenField(default=CurrentUserProfileDefault())
+
     class Meta:
         model = models.Task
-        read_only_fields = ('created_by', 'date')
-        extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}}
+        read_only_fields = ('created_by', 'created_at', 'updated_at')
         fields = '__all__'
 
+    def validate(self, data):
+        if timezone.now() >= data['deadline']:
+            raise serializers.ValidationError('Please, enter appropriate deadline.')
+        return data
+
 
 class SolutionSerializer(serializers.ModelSerializer):
+    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')
-        extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}}
-        fields = ('task', 'date', 'accepted', 'files', 'created_by')
-
-    def validate(self, attrs):
-        task = attrs['task']
-        date = attrs['date']
+        read_only_fields = ('created_by', 'created_at', 'updated_at', 'ready')
+        fields = ('task', 'created_at', 'updated_at', 'accepted', 'files', 'created_by')
 
-        if task.deadline < date:
-            raise serializers.ValidationError("You cannot submit homework after the deadline")
+    def validate(self, data):
+        if timezone.now() > data['task'].deadline:
+            raise serializers.ValidationError('You late.')
+        return data
 
-        return attrs
+    def create(self, validated_data):
+        validated_data['accepted'] = False
+        return self.Meta.model.objects.create(**validated_data)
diff --git a/src/homework/tests.py b/src/homework/tests.py
old mode 100644
new mode 100755
diff --git a/src/homework/urls.py b/src/homework/urls.py
old mode 100644
new mode 100755
diff --git a/src/homework/views.py b/src/homework/views.py
old mode 100644
new mode 100755
index 498f447b82695465d92ca2ae49157028cca8ed8d..41f1638a5484fe74cf9f471ea353da89cb9ee7c8
--- a/src/homework/views.py
+++ b/src/homework/views.py
@@ -1,13 +1,9 @@
 from rest_framework import viewsets
-from rest_framework.response import Response
-from rest_framework import status
-from rest_framework.decorators import list_route
-from django.http import Http404
-from django.shortcuts import get_object_or_404
 
+from common import permissions
+from rest_framework.permissions import IsAuthenticated
 from . import serializers
 from . import models
-from common import permissions
 
 
 class TasksViewSet(viewsets.ModelViewSet):
@@ -18,27 +14,14 @@ class TasksViewSet(viewsets.ModelViewSet):
 
 class SolutionsViewSet(viewsets.ModelViewSet):
     serializer_class = serializers.SolutionSerializer
-    queryset = models.Solution.objects.all()
-    permission_classes = (permissions.IsStaffOrReadOnlyForAuthenticated, )
-
-    def create(self, request, *args, **kwargs):
-        serializer = self.get_serializer(data=request.data)
-        serializer.is_valid(raise_exception=True)
-        # serializer.validated_data['accepted'] = False
-        # task_id = serializer.validated_data.get('task')
-        # date = serializer.validated_data['date']
-        # task = get_object_or_404(models.Task, pk=task_id)
-        # if task_id.deadline < date:
-        #     return Http404("Deadline")
-        headers = self.get_success_headers(serializer.data)
-        return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
+    permission_classes = (IsAuthenticated, )
 
     def get_queryset(self):
         user = self.request.user
+        queryset = models.Solution.objects.filter(created_by=user)
         if user.has_perm(permissions.IsStaffUser):
-            return models.Solution.objects.all()
-
-    @list_route(methods=['get'])
-    def me(self, request):
-        serializer = self.serializer_class(request.user.profile) #request ?
-        return Response(serializer.data)
\ No newline at end of file
+            queryset = models.Solution.objects.all()
+            user_id = self.request.query_params.get('userID', None)
+            if user_id is not None:
+                queryset = queryset.filter(created_by=user_id)
+        return queryset
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)