diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java
index c5bcc092ed699e2ab8ca7f93fcafd946dd58fb26..c7aaeea34b0374b61d517cded8ef6aecda4d287d 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java
@@ -1,6 +1,5 @@
 package unipotsdam.gf.core.management;
 
-import sun.misc.IOUtils;
 import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
 import unipotsdam.gf.core.management.group.Group;
@@ -10,13 +9,12 @@ import unipotsdam.gf.core.management.project.ProjectConfigurationDAO;
 import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.core.management.user.UserInterests;
 import unipotsdam.gf.core.management.user.UserProfile;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 
 import javax.annotation.ManagedBean;
 import javax.annotation.Resource;
 import javax.inject.Singleton;
-import java.io.File;
 import java.io.FileInputStream;
 import java.sql.Blob;
 import java.sql.Timestamp;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig
index 5f22f04d171fd5ea57e82985d5517760beb1cd48..a9f8cae5c49aad332febf4bce32f0458125eb4a8 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig
@@ -10,7 +10,7 @@ import unipotsdam.gf.core.management.project.ProjectConfigurationDAO;
 import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.core.management.user.UserInterests;
 import unipotsdam.gf.core.management.user.UserProfile;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 
 import javax.annotation.ManagedBean;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java
index c4a98679e1b5417894290ce38e45a5f88a774352..d517c79ebb58ca45a7df73d4430fe546c3e91722 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java
@@ -1,7 +1,7 @@
 package unipotsdam.gf.core.management.pageAppearance;
 
 import unipotsdam.gf.core.management.ManagementImpl;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.jsp.JspWriter;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java
index a6538bcaaf90f3441de5581c0c2feedab6ccb2a9..22c4f0446dd9a34a7fbd2a9d8cbe22e3dd6a7ec8 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java
@@ -2,7 +2,7 @@ package unipotsdam.gf.core.management.pageAppearance;
 
 import unipotsdam.gf.core.management.ManagementImpl;
 import unipotsdam.gf.core.management.user.User;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.jsp.JspWriter;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java
index 6ca31795c7dd6b06f1d9a40ff1a8d9d66e2f32a9..3a11a8401c8fd2b60ecff8327076f3f541fda20f 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java
@@ -1,6 +1,6 @@
 package unipotsdam.gf.core.management.project;
 
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 
 import java.sql.Timestamp;
 import java.time.LocalDateTime;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java
index cc66f5634f1f05f969fcd423c24ce9134d21a653..1324034548c14f1cb9948d56d6d86b0481eed353 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java
@@ -1,6 +1,6 @@
 package unipotsdam.gf.core.management.project;
 
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.modules.assessment.AssessmentMechanism;
 import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism;
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java
index 6a9f147857cc89528fa38a08e85c878b8d474cf3..ee57c4b4e0fd90df768c4093c1c7911f0e2de90f 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java
@@ -2,13 +2,11 @@ package unipotsdam.gf.core.management.project;
 
 import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
-import unipotsdam.gf.core.management.user.User;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.modules.assessment.AssessmentMechanism;
 import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism;
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
 
-import java.util.ArrayList;
 import java.util.HashMap;
 
 public class ProjectConfigurationDAO {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java
index 94bf3ef8713222df3c70a160a4cd0bc17922e220..5df13ac921258e35e664cda7c8d12d37101a8e68 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java
@@ -1,8 +1,6 @@
 package unipotsdam.gf.core.management.user;
 
-import org.glassfish.grizzly.streams.BufferedInput;
 import unipotsdam.gf.core.management.ManagementImpl;
-import unipotsdam.gf.core.states.ProjectPhase;
 import unipotsdam.gf.interfaces.ICommunication;
 import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
 
@@ -11,8 +9,6 @@ import javax.inject.Inject;
 import javax.ws.rs.*;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
-import java.awt.image.BufferedImage;
-import java.awt.image.BufferedImageOp;
 import java.io.File;
 import java.io.FileInputStream;
 import java.net.URI;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java
index bdbac9ae7b6b1171b82063e4d34f320fadf242fd..7c60869c4da95d680d35d780eefbc71d63e32550 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java
@@ -2,7 +2,7 @@ package unipotsdam.gf.core.session;
 
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.modules.assessment.controller.model.Quiz;
 import unipotsdam.gf.modules.communication.model.chat.ChatRoom;
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java
index ed289b311cfa75b30f22102953bd3ea80d17b49e..685e6018bd27b08078e15765b3f52c1d92dac648 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java
@@ -2,13 +2,19 @@ package unipotsdam.gf.core.states;
 
 import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.core.states.model.Constraints;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.interfaces.*;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy;
+import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
+import unipotsdam.gf.modules.peer2peerfeedback.DummyFeedback;
 import unipotsdam.gf.view.Messages;
 
 import javax.annotation.ManagedBean;
-import javax.annotation.Resource;
 import javax.inject.Inject;
-import javax.inject.Singleton;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Created by dehne on 31.05.2018.
@@ -19,11 +25,11 @@ import javax.inject.Singleton;
 @ManagedBean
 public class PhasesImpl implements IPhases {
 
-    private IPeerAssessment iPeerAssessment;
+    private IPeerAssessment iPeerAssessment = new PeerAssessmentDummy();
 
-    private Feedback feedback;
+    private Feedback feedback = new DummyFeedback();
 
-    private ICommunication iCommunication;
+    private ICommunication iCommunication = new CommunicationDummyService();
 
     private IJournal iJournal;
 
@@ -45,8 +51,31 @@ public class PhasesImpl implements IPhases {
         this.iJournal = iJournal;
     }
 
+    /*Optionen für die Constraints:
+    Gesucht ist ein Objekt, welches man an den Dozenten übergibt, in dem die fehlenden Abgaben codiert sind
+
+    Als Map<StudentIdentifier, class Constraints>
+        + Immer wenn etwas nicht erfüllt wurde, speichert man es hier ab
+        - Jedes Interface bräuchte eine Funktion, die diese Datenstruktur bedient
+        - einige nutzlose Daten müssten mitgeschliffen werden
+        - Die variable wird immer wieder neu erzeugt und so sollte alles in der DB gespeichert sein!?
+    Constraints als Enum
+        + Die Funktionen der Interfaces checken ob dieser Constraint überall gilt
+        - Jedes Interface muss eine Funktion schreiben, die jeden Studenten untersucht.
+            Sinnvoller wäre nur die Studenten zurück zu geben, die die Constraint nicht erfüllen
+        - Enums können glaube keine Werte als Default tragen
+    Map<StudentIdentifier, String>
+        + Wenn Map keine Elemente trägt, ist alles erfüllt.
+        + zurück zu geben vom Interface wäre die Kennung (StudentIdentifier) und was fehlt (Constraint)
+        - Keine Default Werte
+
+
+    */
+
     @Override
-    public void endPhase(ProjectPhase changeToPhase, Project project) {
+    public void endPhase(ProjectPhase currentPhase, Project project) {
+        ProjectPhase changeToPhase = getNextPhase(currentPhase);
+        Map<StudentIdentifier, Constraints> tasks = new HashMap<>();
         switch (changeToPhase) {
             case CourseCreation:
                 // saving the state
@@ -59,6 +88,7 @@ public class PhasesImpl implements IPhases {
                 break;
             case DossierFeedback:
                 // check if everybody has uploaded a dossier
+
                 Boolean feedbacksGiven = feedback.checkFeedbackConstraints(project);
                 if (!feedbacksGiven) {
                     feedback.assigningMissingFeedbackTasks(project);
@@ -70,7 +100,8 @@ public class PhasesImpl implements IPhases {
                 break;
             case Execution:
                 // check if the portfolios have been prepared for evaluation (relevant entries selected)
-                Boolean portfoliosReady = iJournal.getPortfoliosForEvaluationPrepared(project);
+                // todo: Boolean portfoliosReady = iJournal.getPortfoliosForEvaluationPrepared(project);
+                Boolean portfoliosReady = true;
                 if (portfoliosReady) {
                     // inform users about the end of the phase
                     iCommunication.sendMessageToUsers(project, Messages.AssessmentPhaseStarted(project));
@@ -80,6 +111,15 @@ public class PhasesImpl implements IPhases {
                 }
                 break;
             case Assessment:
+                Boolean allAssessmentsDone = iPeerAssessment.allAssessmentsDone(project.getId());
+                if(allAssessmentsDone){
+                    iCommunication.sendMessageToUsers(project, Messages.CourseEnds(project));
+                    saveState(project, changeToPhase);
+                }else{
+                    iPeerAssessment.assignMissingAssessmentTasks(project);
+                }
+                break;
+            case Projectfinished:
                 closeProject();
                 break;
         }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java
index c0d45a7532c298206bfd8a3ef371cfd5ae4381a0..49a65404c45db5aab532b94f98eb1e7ef9f427f2 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java
@@ -2,16 +2,15 @@ package unipotsdam.gf.core.states;
 
 import unipotsdam.gf.core.management.Management;
 import unipotsdam.gf.core.management.ManagementImpl;
-import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.interfaces.IPhases;
 
-import javax.inject.Inject;
 import javax.ws.rs.*;
 import javax.ws.rs.core.MediaType;
 
 /**
  * REST API for switching phases
- * In order to look up the possible phases @see unipotsdam.gf.core.states.ProjectPhase
+ * In order to look up the possible phases @see unipotsdam.gf.core.states.model.ProjectPhase
  */
 @Path("/phases")
 public class PhasesService  {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/configPhaseShift.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/configPhaseShift.java
deleted file mode 100644
index b988f6f75f45b5bc04929a0cfe2d93b2fabd85a1..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/configPhaseShift.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package unipotsdam.gf.core.states;
-
-public class configPhaseShift {
-    Boolean DossierWritten;
-    Integer FeedbackCount =1;
-    Integer QuizCount =10;
-    Integer JournalCount=5;
-    Boolean DossierFinalized;
-    Boolean JournalFinalized;
-    Boolean AssessmentDone;
-}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java
new file mode 100644
index 0000000000000000000000000000000000000000..ac413e63a173d5a8dbbbffbebb90267c06bc984f
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java
@@ -0,0 +1,34 @@
+package unipotsdam.gf.core.states.model;
+
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+
+public class Constraints {
+
+    public static String DossierWritten(StudentIdentifier student){
+        return student.getStudentId()+" hat noch kein Dossier hochgeladen.";
+    }
+
+    public static String FeedbackCount(StudentIdentifier student){
+        return student.getStudentId()+" hat noch nicht das erwartete Feedack gegeben.";
+    }
+
+    public static String QuizCount(StudentIdentifier student){
+        return student.getStudentId()+" hat noch kein Quiz erstellt.";
+    }
+
+    public static String JournalCount(StudentIdentifier student){
+        return student.getStudentId()+" hat noch nicht genug Tagebucheinträge verfasst.";
+    }
+
+    public static String DossierFinalized(StudentIdentifier student){
+        return student.getStudentId()+" hat sein Dossier noch nicht finalisiert.";
+    }
+
+    public static String JournalFinalized(StudentIdentifier student){
+        return student.getStudentId()+" hat sein Tagebuch noch nicht finalisiert";
+    }
+
+    public static String AssessmentDone(StudentIdentifier student){
+        return student.getStudentId()+" hat die Bewertung noch nicht abgeschlossen.";
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ProjectPhase.java
similarity index 75%
rename from gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java
rename to gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ProjectPhase.java
index ba8bffad7c29716ddfd9bbb5f049e3f19b0241c4..433ef0c96077d32bea6c4194a41fd32f765ce8f8 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ProjectPhase.java
@@ -1,4 +1,4 @@
-package unipotsdam.gf.core.states;
+package unipotsdam.gf.core.states.model;
 
 public enum ProjectPhase {
     CourseCreation, GroupFormation, DossierFeedback, Execution, Assessment,
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java
index b07b990870b655615e72a1447eb09df9df642e98..1892ec3961260ec76a97bf0fa2aa0362fdad5070 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java
@@ -1,5 +1,6 @@
 package unipotsdam.gf.interfaces;
 
+import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 
 import java.util.ArrayList;
@@ -42,6 +43,7 @@ public interface IPeerAssessment {
      * @param totalPerformance @return
      */
     Map<StudentIdentifier, Double> calculateAssessment(ArrayList<Performance> totalPerformance); // calculates marks for every performance and writes it to an array
+    Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method);
 
 
     /**
@@ -95,5 +97,8 @@ public interface IPeerAssessment {
     void deleteQuiz(String quizId);
 
     String whatToRate(StudentIdentifier student);
-    Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method);
+
+    Boolean allAssessmentsDone(String projectId);
+
+    void assignMissingAssessmentTasks(Project project);
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java
index 976d67d13cdbb82a565b704b9213a8ac6677495e..5a11474e0842860a5063e06f2dcb13a7645d6f77 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java
@@ -1,7 +1,7 @@
 package unipotsdam.gf.interfaces;
 
 import unipotsdam.gf.core.management.project.Project;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 
 public interface IPhases {
     /**
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java
index 8283f9a231c6c558032e108968a4386d379d9b8c..866d46be26992a8be17bd44f4b2cb6823ca60d37 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java
@@ -1,5 +1,6 @@
 package unipotsdam.gf.modules.assessment.controller.service;
 
+import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 
 import java.util.ArrayList;
@@ -84,6 +85,16 @@ public class FBAssessement extends AssessmentDAO {
         return null;
     }
 
+    @Override
+    public Boolean allAssessmentsDone(String projectId) {
+        return null;
+    }
+
+    @Override
+    public void assignMissingAssessmentTasks(Project project) {
+
+    }
+
     @Override
     public Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method) {
         return null;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java
index d65c047ccced3756dd13292542eac5f58f09f901..871b3c94af79f47dc054d632240a8648ee0992af 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java
@@ -1,5 +1,6 @@
 package unipotsdam.gf.modules.assessment.controller.service;
 
+import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.interfaces.IPeerAssessment;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 
@@ -59,6 +60,16 @@ public class PeerAssessment implements IPeerAssessment {
         return "done";
     }
 
+    @Override
+    public Boolean allAssessmentsDone(String projectId) {
+        return null;
+    }
+
+    @Override
+    public void assignMissingAssessmentTasks(Project project) {
+
+    }
+
     @Override
     public Map<StudentIdentifier, Double> calculateAssessment(ArrayList<Performance> totalPerformance) {
         Map<StudentIdentifier, Double> quizMean = new HashMap<>(quizGrade(totalPerformance));
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java
index c00f67d163ef745d9f5e4b1ffcd8debb86ecf376..a5cb9fae5bdddcc98bf3b438665e17860e50a969 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java
@@ -2,6 +2,7 @@ package unipotsdam.gf.modules.assessment.controller.service;
 
 import unipotsdam.gf.assignments.Assignee;
 import unipotsdam.gf.assignments.NotImplementedLogger;
+import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.interfaces.IPeerAssessment;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 
@@ -88,6 +89,16 @@ public class PeerAssessmentDummy implements IPeerAssessment {
         return null;
     }
 
+    @Override
+    public Boolean allAssessmentsDone(String projectId) {
+        return true;
+    }
+
+    @Override
+    public void assignMissingAssessmentTasks(Project project) {
+
+    }
+
     @Override
     public Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method) {
         return null;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java
index 443ce212400945a30640d7b3213233a3ed4e6e1f..0bf9d071c9cdeed87676e3570771afc632324aca 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java
@@ -16,11 +16,12 @@ import java.util.ArrayList;
 public class DummyFeedback implements Feedback {
 
     /**
-     * Utility to creaty dummy data for students
+     * Utility to create dummy data for students
      */
     PodamFactory factory = new PodamFactoryImpl();
 
     private static Boolean missingTaskAssigned = false;
+    private Boolean constraintsFulfilled = false;
 
 
     public DummyFeedback() {
@@ -52,10 +53,11 @@ public class DummyFeedback implements Feedback {
 
     @Override
     public Boolean checkFeedbackConstraints(Project project) {
-        // TODO implement cornstaints
+        // TODO implement constraints
         NotImplementedLogger.logAssignment(Assignee.KATHARINA, Feedback.class, "check Feedback constraints",
                 "checking feedback constraints ");
-        return missingTaskAssigned;
+        constraintsFulfilled = true;
+        return constraintsFulfilled;
     }
 
     @Override
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java
index 986c7d741e87d479673663e4afccd5d685bc2249..cffc1eae0018d01365f794eef5bc54ac21c69831 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java
@@ -17,4 +17,9 @@ public class Messages {
         // TODO add link to site + markup
         return "Die Bewertungsphase hat begonnen. Bitte geht auf ... und macht ....";
     }
+
+    public static String CourseEnds(Project project) {
+        // TODO add link to site + markup
+        return "Die Bewertung ist abgeschlossen. Sie erhalten ihre Bewertung in Kürze.";
+    }
 }
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
index 2022098901c1d33133d46ffa6ebe1268e8b960d9..284258c144cf54efabc89250533c0573edcd4e43 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
@@ -17,7 +17,7 @@ import unipotsdam.gf.core.management.Management;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.project.ProjectConfiguration;
 import unipotsdam.gf.core.management.user.User;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism;
 import unipotsdam.gf.modules.groupfinding.GroupfindingCriteria;
 import unipotsdam.gf.modules.journal.model.Journal;
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java
index 9d59d39a89bade2431dee22455ef1bcc457c1f2a..fa948cc8054747957ec225561db6bcf8e2ecea1e 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java
@@ -10,7 +10,7 @@ import unipotsdam.gf.core.management.ManagementImpl;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.core.management.user.UserProfile;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import javax.inject.Inject;
 
 public class PhaseTest {