diff --git a/src/common/email.py b/src/common/email.py
index 0c8d6b351c9b33fa732ae13f52a03d5fb57519ef..45b8705f994cea140f6746831d916630364d0c0e 100644
--- a/src/common/email.py
+++ b/src/common/email.py
@@ -1,8 +1,8 @@
 from django.core.mail import send_mail
 import codecs
 
-sender_email = 'noreply@kszkepzes.sch.bme.hu'
-link = 'kszkepzes.sch.bme.hu/homework'
+sender_email = 'noreply@ujonc.sch.bme.hu'
+link = 'https://ujonc.sch.bme.hu/homework'
 
 
 def read_email(name):
diff --git a/src/common/emails/registration.txt b/src/common/emails/registration.txt
index f9068e283264a6509bf534bc4c7e7a2c677cd432..bfe0c4e2d2fade84a3f9c22648be8bede498ae76 100644
--- a/src/common/emails/registration.txt
+++ b/src/common/emails/registration.txt
@@ -1,4 +1,4 @@
-Kedves %(name)s!
+Szia!
 
 Örömmel vettük jelenkezésedet az idei KSZKépzés programunkba. Azonban ahhoz, hogy ezt el is tudjuk bírálni, még szükségünk van pár dologra tőled:
 	- ki kell töltened a profilodat,
diff --git a/src/document/models.py b/src/document/models.py
index a9d72a22f77c1d87841b0e580c3747a57b73961e..8e26ea20ec77461fe475a53e308c9d0194e131c2 100644
--- a/src/document/models.py
+++ b/src/document/models.py
@@ -1,11 +1,22 @@
+import os
+
 from django.db import models
 from django.core import validators
-
+from django.dispatch import receiver
 from account.models import Profile
 from homework.models import Solution
 from common.validators import FileSizeValidator
 
 
+def document_file_name(instance, filename):
+    return '/'.join([
+        'document',
+        instance.solution.task.title,
+        instance.uploaded_by.full_name,
+        filename
+    ])
+
+
 class Document(models.Model):
     uploaded_by = models.ForeignKey(Profile, on_delete=models.DO_NOTHING)
     uploaded_at = models.DateTimeField(auto_now_add=True, editable=False)
@@ -22,9 +33,18 @@ class Document(models.Model):
             FileSizeValidator(size_limit=52428800),  # 52428800 - 50MiB
         ],
         blank=True,
-        null=True
+        null=True,
+        upload_to=document_file_name
     )
     solution = models.ForeignKey(Solution, related_name='files', on_delete=models.CASCADE)
 
     def __str__(self):
         return self.name
+
+
+# Deletes file from filesystem when File object is deleted.
+@receiver(models.signals.post_delete, sender=Document)
+def auto_delete_file_on_delete(sender, instance, **kwargs):
+    if instance.file:
+        if os.path.isfile(instance.file.path):
+            os.remove(instance.file.path)
diff --git a/src/stats/views.py b/src/stats/views.py
index 393de2ce77b1bf476925663fd18b9ef967af4237..c917e47dd8b96927fe4f1ec018975c84ed6656b5 100644
--- a/src/stats/views.py
+++ b/src/stats/views.py
@@ -25,9 +25,9 @@ class NoteViewSet(viewsets.ModelViewSet):
         profile_id = self.request.query_params.get('profileID', None)
         event_id = self.request.query_params.get('eventID', None)
         if profile_id is not None and event_id is not None:
-            return queryset.filter(user=profile_id, event=event_id)
+            return queryset.filter(profile=profile_id, event=event_id)
         if profile_id is not None:
-            return queryset.filter(user=profile_id)
+            return queryset.filter(profile=profile_id)
         if event_id is not None:
             return queryset.filter(event=event_id)
         return queryset