diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorServiceImpl.java
index 3874c8dba7..42d7b1d37a 100644
--- a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorServiceImpl.java
+++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorServiceImpl.java
@@ -57,10 +57,7 @@ public class SupervisorServiceImpl extends AbstractQueryService<Employee, Long>
     }
 
     @Override
-    public Iterator<Employee> findSupervisorKeywords() {
-        QEmployee employee = QEmployee.employee;
-        OrderSpecifier<?> orderBySize = employee.keywords.keywords.size().desc();
-        BooleanExpression employeeExists = employee.isNotNull();
-        return queryDslPredicateExecutor.findAll(employeeExists, orderBySize).iterator();
+    public Iterator<Employee> findSupervisorQuery(BooleanExpression booleanExpression, OrderSpecifier<?> orderSpecifier) {
+        return queryDslPredicateExecutor.findAll(booleanExpression, orderSpecifier).iterator();
     }
 }
diff --git a/src/main/java/se/su/dsv/scipro/springdata/services/SupervisorService.java b/src/main/java/se/su/dsv/scipro/springdata/services/SupervisorService.java
index d76bec5c4e..96d2968792 100644
--- a/src/main/java/se/su/dsv/scipro/springdata/services/SupervisorService.java
+++ b/src/main/java/se/su/dsv/scipro/springdata/services/SupervisorService.java
@@ -1,4 +1,6 @@
 package se.su.dsv.scipro.springdata.services;
+import com.mysema.query.types.OrderSpecifier;
+import com.mysema.query.types.expr.BooleanExpression;
 import se.su.dsv.scipro.data.dataobjects.Employee;
 
 import java.util.Date;
@@ -15,5 +17,5 @@ public interface SupervisorService extends CrudService<Employee,Long>, QueryServ
 
     public Iterable<Employee> findByUsersName(final Date dateCreated);
 
-    public Iterator<Employee> findSupervisorKeywords();
+    public Iterator<Employee> findSupervisorQuery(BooleanExpression booleanExpression, OrderSpecifier<?> orderSpecifier);
 }
diff --git a/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java b/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java
index 3f3b762398..4e8ac4366d 100644
--- a/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java
+++ b/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java
@@ -1,5 +1,7 @@
 package se.su.dsv.scipro.springdata;
 
+import com.mysema.query.types.OrderSpecifier;
+import com.mysema.query.types.expr.BooleanExpression;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -11,6 +13,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.transaction.annotation.Transactional;
 import se.su.dsv.scipro.data.dao.interfaces.UserDao;
 import se.su.dsv.scipro.data.dataobjects.Employee;
+import se.su.dsv.scipro.data.dataobjects.QEmployee;
 import se.su.dsv.scipro.data.dataobjects.User;
 import se.su.dsv.scipro.match.Weights;
 import se.su.dsv.scipro.match.dao.interfaces.KeywordDao;
@@ -235,7 +238,10 @@ public class TestSupervisor {
         keyword = createKeyword(keywordTypeWord, "Java", false);
         tholerus.getKeywords().getAll().add(keyword);
         tholerus =  supervisorService.save(tholerus);
-        Iterator<Employee> employeeIterator = supervisorService.findSupervisorKeywords();
+        QEmployee employee = QEmployee.employee;
+        OrderSpecifier<?> orderBySize = employee.keywords.keywords.size().desc();
+        BooleanExpression employeeExists = employee.isNotNull();
+        Iterator<Employee> employeeIterator = supervisorService.findSupervisorQuery(employeeExists, orderBySize);
         while (employeeIterator.hasNext()) {
             employeeList.add(employeeIterator.next());
         }