diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java
index 2daf3651085d4a0c4e1d020aaf52d91c64c572ac..6ffde6e89fef8ca74e399b2a63461e2feb9e6c0c 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java
@@ -10,6 +10,7 @@ import unipotsdam.gf.interfaces.*;
 import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment;
 import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy;
 import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
+import unipotsdam.gf.modules.groupfinding.DummyGroupfinding;
 import unipotsdam.gf.modules.journal.DummyJournalImpl;
 import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.service.DummyJournalService;
@@ -34,5 +35,7 @@ public class GFApplicationBinder extends AbstractBinder {
         bind(ManagementImpl.class).to(Management.class);
         bind(DummyResearchReportManagement.class).to(ResearchReportManagement.class);
         bind(TestList.class).to(TestListInterface.class);
+        bind(DummyGroupfinding.class).to(IGroupFinding.class);
+
     }
 }
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 85dc6d81bbda007d11a2cb35a6cde66ed00f51c6..7bcf8a20fdb75120b33e7dae2b5cba48013ec3d7 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java
@@ -19,16 +19,12 @@ import javax.inject.Singleton;
 @ManagedBean
 public class PhasesImpl implements IPhases {
 
-    @Inject
     private IPeerAssessment iPeerAssessment;
 
-    @Inject
     private Feedback feedback;
 
-    @Inject
     private ICommunication iCommunication;
 
-    @Inject
     private IJournal iJournal;
 
     public PhasesImpl() {
@@ -41,6 +37,7 @@ public class PhasesImpl implements IPhases {
      * @param iCommunication
      * @param iJournal
      */
+    @Inject
     public PhasesImpl(IPeerAssessment iPeerAssessment, Feedback feedback, ICommunication iCommunication, IJournal iJournal) {
         this.iPeerAssessment = iPeerAssessment;
         this.feedback = feedback;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IGroupFinding.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IGroupFinding.java
new file mode 100644
index 0000000000000000000000000000000000000000..f776d8f2f21cbaa4c613b9887986dd4e56201cd9
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IGroupFinding.java
@@ -0,0 +1,35 @@
+package unipotsdam.gf.interfaces;
+
+import unipotsdam.gf.core.management.group.Group;
+import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism;
+import unipotsdam.gf.modules.groupfinding.GroupfindingCriteria;
+
+public interface IGroupFinding {
+
+    /**
+     * Select the groupfinding criteria used
+     * @param groupfindingCriteria
+     */
+    void selectGroupfindingCriteria(GroupfindingCriteria groupfindingCriteria);
+
+    /**
+     * Persist the selected manual groups
+     * @param groupComposition
+     */
+    void persistGroups(java.util.List<Group> groupComposition, Project project);
+
+    /**
+     * @param project
+     * @return
+     */
+    java.util.List<Group> getGroups(Project project);
+
+    /**
+     *
+     * @param groupFindingMechanism
+     */
+    void formGroups(GroupFormationMechanism groupFindingMechanism);
+
+
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java
index 869de710426fb0da5f54ba4039616f0fb9e8e7da..8f11eec4a9eef4c21a9d96997856224ecb411f64 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java
@@ -2,7 +2,14 @@ package unipotsdam.gf.interfaces;
 
 
 import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+import unipotsdam.gf.modules.journal.model.Journal;
+import unipotsdam.gf.modules.researchreport.ResearchReport;
+
+import javax.swing.text.html.HTML;
+import java.io.File;
+import java.util.List;
 
 /**
  * Interface for learning journal
@@ -29,4 +36,29 @@ public interface IJournal {
      * @param project
      */
     void assignMissingPortfolioTasks(Project project);
+
+    /**
+     * after user has uploaded a journal entry this function is called
+     * @param journalEntry
+     * @param student
+     */
+    void uploadJournalEntry(Journal journalEntry, User student);
+
+    /**
+     * persist final portfolio for assessment
+     *
+     * Maybe create a class for the collected portfolio
+     * @param journalEntries
+     * @param finalResearchReport
+     * @param presentation
+     */
+    void uploadFinalPortfolio(Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File
+            presentation, User user);
+
+    /**
+     *
+     * @param project
+     * @return
+     */
+    HTML getFinalPortfolioForAssessment(Project project, User user);
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java
index e3b65f1474d62074a4cf33b422a11ebda2d478b0..07ccd75fe304acb09016ec9405eebba4ac72e72d 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.modules.assessment.QuizAnswer;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 
 import java.util.ArrayList;
@@ -74,4 +75,11 @@ public interface IPeerAssessment {
      * @param groupId
      */
     void postPeerRating(ArrayList<PeerRating> peerRatings, String projectId, String groupId);
+
+    /**
+     *
+     * @param studentAndQuiz
+     * @param quizAnswer
+     */
+    void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer);
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/QuizAnswer.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/QuizAnswer.java
new file mode 100644
index 0000000000000000000000000000000000000000..6e94987dbaaa741b8c7da6a15a3c3148743a08f8
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/QuizAnswer.java
@@ -0,0 +1,4 @@
+package unipotsdam.gf.modules.assessment;
+
+public class QuizAnswer {
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentAndQuiz.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentAndQuiz.java
index 4f5f5c0976bffc1bc51602c7c1cc886f294ac1d5..ce8d9bfdff59fbe2edfcf6ec56137cecf1bb1ca1 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentAndQuiz.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentAndQuiz.java
@@ -1,5 +1,9 @@
 package unipotsdam.gf.modules.assessment.controller.model;
 
+
+/**
+ * TODO @Axel: Normally a quiz would have a student field property instead of creating a new class
+ */
 public class StudentAndQuiz {
     @Override
     public String toString() {
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 df592667c5c569eaaa9f60dd7f6d75f30bc34789..a00736d6be46da151e31deb2323b3c4c3115eba6 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.modules.assessment.QuizAnswer;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 
 import java.util.ArrayList;
@@ -57,4 +58,9 @@ public class FBAssessement extends AssessmentDAO {
     public void postPeerRating(ArrayList<PeerRating> peerRatings, String projectId, String groupId) {
 
     }
+
+    @Override
+    public void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer) {
+
+    }
 }
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 9ab276c63b7e61ed7d1fbd121717f3ab1b8f8232..a4ff7b02053678a112a681d5e6cba1866fe0109a 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,10 +1,9 @@
 package unipotsdam.gf.modules.assessment.controller.service;
 
 import unipotsdam.gf.core.management.ManagementImpl;
-import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.interfaces.IPeerAssessment;
+import unipotsdam.gf.modules.assessment.QuizAnswer;
 import unipotsdam.gf.modules.assessment.controller.model.*;
-import unipotsdam.gf.core.database.mysql.MysqlConnect;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -56,4 +55,9 @@ public class PeerAssessment implements IPeerAssessment {
     public void postPeerRating(ArrayList<PeerRating> peerRatings, String projectId, String groupId) {
 
     }
+
+    @Override
+    public void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer) {
+
+    }
 }
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 35920c8470ac2a075579c14183cbd7fa89818e52..368c39df41e9e7866efd372220eb19b16c316458 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
@@ -1,6 +1,7 @@
 package unipotsdam.gf.modules.assessment.controller.service;
 
 import unipotsdam.gf.interfaces.IPeerAssessment;
+import unipotsdam.gf.modules.assessment.QuizAnswer;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 
 import java.util.ArrayList;
@@ -64,6 +65,11 @@ public class PeerAssessmentDummy implements IPeerAssessment {
         int breakpoint = 0; //todo: print an http-answer for the ajax-request to receive
     }
 
+    @Override
+    public void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer) {
+
+    }
+
     @Override
     public Assessment getAssessmentDataFromDB(StudentIdentifier student) {
         int[] quizAnswer = {1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1};
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java
index 4ee52595c40fdc7cc9163884de28199e63f1456e..e0b8b99371a91ecad1853d22b855f81b7b9ddd4e 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java
@@ -1,8 +1,8 @@
 package unipotsdam.gf.modules.assessment.controller.view;
 
 import unipotsdam.gf.interfaces.IPeerAssessment;
+import unipotsdam.gf.modules.assessment.QuizAnswer;
 import unipotsdam.gf.modules.assessment.controller.model.*;
-import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment;
 import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy;
 
 import javax.ws.rs.*;
@@ -39,6 +39,11 @@ public class QuizView implements IPeerAssessment {
         //todo: checkout the POST-variable. should be peerRating but its null atm.
     }
 
+    @Override
+    public void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer) {
+
+    }
+
     @POST
     @Produces(MediaType.TEXT_PLAIN)
     @Consumes(MediaType.APPLICATION_JSON)
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/DummyGroupfinding.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/DummyGroupfinding.java
new file mode 100644
index 0000000000000000000000000000000000000000..1afe531452428511fac7d179801c537f5227d35a
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/DummyGroupfinding.java
@@ -0,0 +1,30 @@
+package unipotsdam.gf.modules.groupfinding;
+
+import unipotsdam.gf.core.management.group.Group;
+import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.interfaces.IGroupFinding;
+
+import java.util.List;
+
+public class DummyGroupfinding implements IGroupFinding {
+    @Override
+    public void selectGroupfindingCriteria(GroupfindingCriteria groupfindingCriteria) {
+
+    }
+
+    @Override
+    public void persistGroups(
+            List<Group> groupComposition, Project project) {
+
+    }
+
+    @Override
+    public List<Group> getGroups(Project project) {
+        return null;
+    }
+
+    @Override
+    public void formGroups(GroupFormationMechanism groupFindingMechanism) {
+
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingCriteria.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingCriteria.java
new file mode 100644
index 0000000000000000000000000000000000000000..39c33ca8191322925f08aae951bbc83d3532f485
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingCriteria.java
@@ -0,0 +1,10 @@
+package unipotsdam.gf.modules.groupfinding;
+
+/**
+ * TODO: implementieren
+ *  - Self efficacy scale
+ *  - Uncertainty tolerance scale
+ *  - Other sources
+ */
+public class GroupfindingCriteria {
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..8987f63c3863e21673bbf067fccced65dbff08ed
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingImpl.java
@@ -0,0 +1,30 @@
+package unipotsdam.gf.modules.groupfinding;
+
+import unipotsdam.gf.core.management.group.Group;
+import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.interfaces.IGroupFinding;
+
+import java.util.List;
+
+public class GroupfindingImpl implements IGroupFinding {
+    @Override
+    public void selectGroupfindingCriteria(GroupfindingCriteria groupfindingCriteria) {
+
+    }
+
+    @Override
+    public void persistGroups(
+            List<Group> groupComposition, Project project) {
+
+    }
+
+    @Override
+    public List<Group> getGroups(Project project) {
+        return null;
+    }
+
+    @Override
+    public void formGroups(GroupFormationMechanism groupFindingMechanism) {
+
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java
index 469ac93850bbde4ece18e5e03a7a524636e8a4fc..ea5bc7e48132e436094ab4c4db783536e0937a4d 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java
@@ -3,9 +3,15 @@ package unipotsdam.gf.modules.journal;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.interfaces.IJournal;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
-import unipotsdam.gf.modules.journal.service.DummyJournalService;
+import unipotsdam.gf.modules.journal.model.Journal;
+import unipotsdam.gf.modules.researchreport.ResearchReport;
+
+import javax.swing.text.html.HTML;
+import java.io.File;
+import java.util.List;
 
 public class DummyJournalImpl implements IJournal {
 
@@ -30,4 +36,22 @@ public class DummyJournalImpl implements IJournal {
     public void assignMissingPortfolioTasks(Project project) {
         log.debug("assigning fake MissingPortfolioTasks");
     }
+
+    @Override
+    public void uploadJournalEntry(Journal journalEntry, User student) {
+
+    }
+
+    @Override
+    public void uploadFinalPortfolio(
+            Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File presentation,
+            User user) {
+
+    }
+
+    @Override
+    public HTML getFinalPortfolioForAssessment(
+            Project project, User user) {
+        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 f01e37c68684bd9e1b3bc3c041cd2d54ceb9149d..c24769c309522632fa10ff82955a6c3e435afeed 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java
@@ -1,5 +1,6 @@
 package unipotsdam.gf.modules.peer2peerfeedback;
 
+import org.mockito.Mockito;
 import uk.co.jemos.podam.api.PodamFactory;
 import uk.co.jemos.podam.api.PodamFactoryImpl;
 import unipotsdam.gf.core.management.project.Project;
@@ -19,6 +20,11 @@ public class DummyFeedback implements Feedback {
 
     private static Boolean missingTaskAssigned = false;
 
+
+    public DummyFeedback() {
+
+    }
+
     @Override
     public Peer2PeerFeedback createPeer2PeerFeedbackmask(
             User feedbackuser, User selectedstudent, File document) {
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
index bc3c725fce74fe3f9206e02381ed46e63aedfea1..65248217c3fa9ed816fe96ffe1e6ca88ebed0ddf 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
@@ -17,19 +17,27 @@ import uk.co.jemos.podam.api.PodamFactory;
 import uk.co.jemos.podam.api.PodamFactoryImpl;
 import unipotsdam.gf.config.GFApplicationBinder;
 import unipotsdam.gf.core.management.Management;
+import unipotsdam.gf.core.management.group.Group;
 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.modules.assessment.QuizAnswer;
+import unipotsdam.gf.modules.assessment.controller.model.StudentAndQuiz;
+import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism;
+import unipotsdam.gf.modules.groupfinding.GroupfindingCriteria;
+import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
 import unipotsdam.gf.modules.peer2peerfeedback.Peer2PeerFeedback;
 import unipotsdam.gf.modules.researchreport.ResearchReport;
 import unipotsdam.gf.modules.researchreport.ResearchReportManagement;
 import javax.inject.Inject;
+import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
 
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -53,10 +61,22 @@ public class ActivityFlowTest {
     @Inject
     Feedback feedback;
 
-
     @Inject
     IPhases phases;
 
+    @Inject
+    IGroupFinding groupFinding;
+
+    @Inject
+    ICommunication iCommunication;
+
+    @Inject
+    IJournal iJournal;
+
+    @Inject
+    IPeerAssessment iPeerAssessment;
+
+
     private final Project project = factory.manufacturePojo(Project.class);
     private final ArrayList<User> students = new ArrayList<>();
     private final User teacher = factory.manufacturePojo(User.class);
@@ -64,6 +84,8 @@ public class ActivityFlowTest {
     @Rule
     public MockitoRule mockitoRule = MockitoJUnit.rule();
 
+
+
     @Before
     public void setUp() {
         final ServiceLocator locator = ServiceLocatorUtilities.bind(new GFApplicationBinder());
@@ -72,9 +94,12 @@ public class ActivityFlowTest {
         feedback = Mockito.spy(feedback);
         researchReportManagement = Mockito.spy(researchReportManagement);
         phases = Mockito.spy(phases);
+        iCommunication = Mockito.spy(iCommunication);
 
+        // TODO @Julian: Find out more elegant way of doing this
         researchReportManagement.setFeedback(feedback);
         phases.setFeedback(feedback);
+
     }
 
     @Test
@@ -88,6 +113,9 @@ public class ActivityFlowTest {
         // register students
         loginStudents();
 
+        // form groups
+        formGroups();
+
         // end first phase
         phases.endPhase(ProjectPhase.CourseCreation, project);
 
@@ -105,6 +133,18 @@ public class ActivityFlowTest {
     }
 
 
+
+    public void formGroups() {
+
+        // form groups based on user profil
+        groupFinding.formGroups(GroupFormationMechanism.UserProfilStrategy);
+
+        // update groups manually
+        groupFinding.formGroups(GroupFormationMechanism.Manual);
+
+    }
+
+
     public void loginTeacher() {
         teacher.setStudent(false);
         management.create(teacher, null);
@@ -122,10 +162,32 @@ public class ActivityFlowTest {
 
     public void uploadReflections() {
         // update single reflection
+        Journal journalEntry = factory.manufacturePojo(Journal.class);
+
+        for (User student : students) {
+            iJournal.uploadJournalEntry(journalEntry, student);
+        }
 
-        // answer quiz
 
-        //
+        // create quiz TODO@Axel this should be a quiz dependend on the student for easier initialization and
+        // de-coupling
+        StudentAndQuiz studentAndQuiz = factory.manufacturePojo(StudentAndQuiz.class);
+        QuizAnswer quizAnswer = factory.manufacturePojo(QuizAnswer.class);
+        iPeerAssessment.createQuiz(studentAndQuiz);
+        iPeerAssessment.answerQuiz(studentAndQuiz, quizAnswer);
+
+        // finales Portfolio zusammenstellen
+        java.util.List<Journal> journalEntries = new ArrayList<Journal>();
+        journalEntries.add(journalEntry);
+
+        ResearchReport finalResearchReport = factory.manufacturePojo(ResearchReport.class);
+        File presentation = new File("dummy.pptx");
+
+        for (User student : students) {
+            iJournal.uploadFinalPortfolio(project,journalEntries, finalResearchReport, presentation, student);
+        }
+        assertNotNull(true);
+
     }
 
     public void uploadDossiers() {
@@ -193,7 +255,9 @@ public class ActivityFlowTest {
         ProjectConfiguration projectConfiguration = factory.manufacturePojo(ProjectConfiguration.class);
         management.create(projectConfiguration, project);
 
-        //
+        GroupfindingCriteria groupfindingCriteria = factory.manufacturePojo(GroupfindingCriteria.class);
+        groupFinding.selectGroupfindingCriteria(groupfindingCriteria);
+
     }
 
 }
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/SpiedListHolder.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/SpiedListHolder.java
new file mode 100644
index 0000000000000000000000000000000000000000..de9f94dff4e159f7cfc9076f9ee89092356a65ca
--- /dev/null
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/SpiedListHolder.java
@@ -0,0 +1,20 @@
+package unipotsdam.gf.testsandbox;
+
+import unipotsdam.gf.core.testsandbox.TestListInterface;
+import unipotsdam.gf.interfaces.Feedback;
+
+import javax.inject.Inject;
+
+public class SpiedListHolder {
+    private TestListInterface spiedList;
+
+
+    @Inject
+    public SpiedListHolder(TestListInterface spiedList) {
+        this.spiedList = spiedList;
+    }
+
+    public TestListInterface getSpiedList() {
+        return spiedList;
+    }
+}
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/TestTestTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/TestTestTest.java
index 5cbe3ac44fcbbdbde2617c28f7afa03cda5a632b..74a6a1f5839925856c853efda71829164cb164ba 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/TestTestTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/TestTestTest.java
@@ -28,12 +28,15 @@ public class TestTestTest {
     @Inject
     TestListInterface spiedList2;
 
-
-
     @Inject
     @Spy
     TestListInterface spiedList3;
 
+
+    @Inject
+    SpiedListHolder spiedListHolder;
+
+
     @Before
     public void setUp() {
         final ServiceLocator locator = ServiceLocatorUtilities.bind(new GFApplicationBinder());
@@ -97,4 +100,19 @@ public class TestTestTest {
 
         assertEquals(2, spiedList3.size());
     }
+
+ /*   //
+    @Test
+    public void howSpiesWorkWithConstructorInjection() {
+
+        java.util.List<String> spiedList4 = Mockito.spy(spiedListHolder.getSpiedList());
+
+        spiedList4.add("one");
+        spiedList4.add("two");
+
+        Mockito.verify(spiedList4).add("one");
+        Mockito.verify(spiedList4).add("two");
+
+        assertEquals(2, spiedList4.size());
+    }*/
 }