diff --git a/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java b/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java
index 213d01ff7c..4ee110a917 100644
--- a/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java
+++ b/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java
@@ -75,9 +75,11 @@ public class CheckListTemplateDataPanel extends Panel {
             protected void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target, boolean up) {
                 System.out.println(up);
                 if (up){
-
+                    checklistTemplateService.upChecklistTemplate(clicked.getObject());
+                    target.addComponent(table);
                 } else {
-
+                    checklistTemplateService.downChecklistTemplate(clicked.getObject());
+                    target.addComponent(table);
                 }
             }
         };
diff --git a/src/main/java/se/su/dsv/scipro/springdata/repos/ChecklistTemplateRepo.java b/src/main/java/se/su/dsv/scipro/springdata/repos/ChecklistTemplateRepo.java
index 2cde2f65fa..bdee65bb50 100644
--- a/src/main/java/se/su/dsv/scipro/springdata/repos/ChecklistTemplateRepo.java
+++ b/src/main/java/se/su/dsv/scipro/springdata/repos/ChecklistTemplateRepo.java
@@ -12,6 +12,6 @@ import se.su.dsv.scipro.data.dataobjects.CheckListTemplate;
 @Transactional(readOnly = true)
 public interface ChecklistTemplateRepo extends JpaRepository<CheckListTemplate, Long>, QueryDslPredicateExecutor<CheckListTemplate> {
 
-    //nothing here yet
+    CheckListTemplate findByTemplateNumber(int templateNumber);
 
 }
diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistTemplateServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistTemplateServiceImpl.java
index 8f34bc70e1..fb42b2cebd 100644
--- a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistTemplateServiceImpl.java
+++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistTemplateServiceImpl.java
@@ -59,6 +59,40 @@ public class ChecklistTemplateServiceImpl extends AbstractQueryService<CheckList
         }
     }
 
+    @Transactional ( readOnly = false )
+    @Override
+    public void upChecklistTemplate(CheckListTemplate checkListTemplate) {
+        //if there is one above
+        if (checklistTemplateRepo.findByTemplateNumber(checkListTemplate.getTemplateNumber() + 1) !=null){
+            //find the one with value 1 higher
+            CheckListTemplate downChecklistTemplate = checklistTemplateRepo.findByTemplateNumber(checkListTemplate.getTemplateNumber() + 1);
+            //give that one the one to be upped's value
+            downChecklistTemplate.setTemplateNumber(checkListTemplate.getTemplateNumber());
+            //increase the value of the one to be upped with 1
+            checkListTemplate.setTemplateNumber(checkListTemplate.getTemplateNumber() + 1);
+            //save both
+            checklistTemplateRepo.save(downChecklistTemplate);
+            checklistTemplateRepo.save(checkListTemplate);
+        }
+    }
+
+    @Transactional ( readOnly = false )
+    @Override
+    public void downChecklistTemplate(CheckListTemplate checkListTemplate) {
+        //if there is one below
+        if (checklistTemplateRepo.findByTemplateNumber(checkListTemplate.getTemplateNumber() -1) != null){
+            //find the one with value 1 lower
+            CheckListTemplate upChecklistTemplate = checklistTemplateRepo.findByTemplateNumber(checkListTemplate.getTemplateNumber() -1);
+            //give that one the one to be downed's value
+            upChecklistTemplate.setTemplateNumber(checkListTemplate.getTemplateNumber());
+            //decrease the value of the one to be downed with 1
+            checkListTemplate.setTemplateNumber(checkListTemplate.getTemplateNumber() -1);
+            //save both
+            checklistTemplateRepo.save(upChecklistTemplate);
+            checklistTemplateRepo.save(checkListTemplate);
+        }
+    }
+
     private BooleanExpression filterStringIsCreatorName(String filterString){
         return QCheckListTemplate.checkListTemplate.creator.firstName.contains(filterString).or(QCheckListTemplate.checkListTemplate.creator.lastName.contains(filterString));
     }
diff --git a/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistTemplateService.java b/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistTemplateService.java
index 7f81eff83a..91b506aee9 100644
--- a/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistTemplateService.java
+++ b/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistTemplateService.java
@@ -14,4 +14,5 @@ public interface ChecklistTemplateService extends CrudService<CheckListTemplate,
     Page<CheckListTemplate> find(String filterString, Pageable pageable);
     Long count(String filterString);
     void upChecklistTemplate(CheckListTemplate checkListTemplate);
+    void downChecklistTemplate(CheckListTemplate checkListTemplate);
 }