diff --git a/src/main/java/de/bps/onyx/plugin/wsserver/ReturnWSService.java b/src/main/java/de/bps/onyx/plugin/wsserver/ReturnWSService.java
index 10f9e672195c1a6ea5be4667692e3835bdd371c2..1daa60daa0e777ab62c95673991558d47ec65aa0 100644
--- a/src/main/java/de/bps/onyx/plugin/wsserver/ReturnWSService.java
+++ b/src/main/java/de/bps/onyx/plugin/wsserver/ReturnWSService.java
@@ -43,6 +43,7 @@ import org.olat.course.CourseFactory;
 import org.olat.course.ICourse;
 import org.olat.course.assessment.AssessmentManager;
 import org.olat.course.assessment.manager.CourseAssessmentManagerImpl;
+import org.olat.course.nodes.AssessableCourseNode;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.run.scoring.ScoreEvaluation;
 import org.olat.course.run.userview.UserCourseEnvironment;
@@ -214,7 +215,7 @@ public class ReturnWSService {
 
 								ScoreEvaluation scoreEvaluation = new ScoreEvaluation(qtiResultSet.getScore(), qtiResultSet.getIsPassed(), qtiResultSet.getFullyAssessed(),
 										qtiResultSet.getAssessmentID());
-								am.saveScoreEvaluation(courseNode, null, assessedIdentity, scoreEvaluation, userCourseEnvironment, false);
+								am.saveScoreEvaluation((AssessableCourseNode)courseNode, null, assessedIdentity, scoreEvaluation, userCourseEnvironment, false);
 
 							}
 						} else {
diff --git a/src/main/java/org/olat/course/assessment/AssessmentManager.java b/src/main/java/org/olat/course/assessment/AssessmentManager.java
index 48427ea48bb5e7d2e24f461b10f16b9556737847..02cbfc592311b8db637571d58e6c7d1fc7492b89 100644
--- a/src/main/java/org/olat/course/assessment/AssessmentManager.java
+++ b/src/main/java/org/olat/course/assessment/AssessmentManager.java
@@ -31,6 +31,7 @@ import java.util.List;
 import org.olat.core.id.Identity;
 import org.olat.core.id.OLATResourceable;
 import org.olat.core.util.event.GenericEventListener;
+import org.olat.course.nodes.AssessableCourseNode;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.run.scoring.ScoreEvaluation;
 import org.olat.course.run.userview.UserCourseEnvironment;
@@ -172,7 +173,7 @@ public interface AssessmentManager {
 	 * @param assessedIdentity
 	 * @param scoreEvaluation
 	 */
-	public void saveScoreEvaluation(CourseNode courseNode, Identity identity, Identity assessedIdentity, ScoreEvaluation scoreEvaluation, UserCourseEnvironment userCourseEnvironment, boolean incrementUserAttempts);
+	public void saveScoreEvaluation(AssessableCourseNode courseNode, Identity identity, Identity assessedIdentity, ScoreEvaluation scoreEvaluation, UserCourseEnvironment userCourseEnvironment, boolean incrementUserAttempts);
 	
 	/**
 	 * Provides an OLATResourceable for locking (of score/passed etc.) purposes (if doInSync is called on score/passed data)
diff --git a/src/main/java/org/olat/course/assessment/AssessmentToolManager.java b/src/main/java/org/olat/course/assessment/AssessmentToolManager.java
index b3dc18eaba7c32a6e8e3572c14c966de1acd39a3..1085706cf3b50a24deeb2ba5e6237eb8ea1d3ab0 100644
--- a/src/main/java/org/olat/course/assessment/AssessmentToolManager.java
+++ b/src/main/java/org/olat/course/assessment/AssessmentToolManager.java
@@ -45,5 +45,6 @@ public interface AssessmentToolManager {
 	public List<IdentityShort> getShortAssessedIdentities(Identity coach, SearchAssessedIdentityParams params, int maxResults);
 	
 	public List<AssessmentEntry> getAssessmentEntries(Identity coach, SearchAssessedIdentityParams params, AssessmentEntryStatus status);
+	
 
 }
diff --git a/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java b/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java
index 83f7ae042fdc78694c1384b7a5448df4d11ec730..f34bb86232ff957a73ad39bbcad57173ac5a56f5 100644
--- a/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java
+++ b/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java
@@ -206,7 +206,7 @@ public class CourseAssessmentManagerImpl implements AssessmentManager {
 	}
 	
 	@Override
-	public void saveScoreEvaluation(CourseNode courseNode, Identity identity, Identity assessedIdentity,
+	public void saveScoreEvaluation(AssessableCourseNode courseNode, Identity identity, Identity assessedIdentity,
 			ScoreEvaluation scoreEvaluation, UserCourseEnvironment userCourseEnv,
 			boolean incrementUserAttempts) {
 		ICourse course = CourseFactory.loadCourse(courseEntry.getOlatResource());
@@ -276,13 +276,11 @@ public class CourseAssessmentManagerImpl implements AssessmentManager {
 					LoggingResourceable.wrap(identity), 
 					LoggingResourceable.wrapNonOlatResource(StringResourceableType.qtiAttempts, "", String.valueOf(attempts)));	
 		}
-				
-		if(courseNode instanceof AssessableCourseNode) {
-			userCourseEnv.getScoreAccounting().scoreInfoChanged((AssessableCourseNode)courseNode, scoreEvaluation);
-			// Update users efficiency statement
-			efficiencyStatementManager.updateUserEfficiencyStatement(userCourseEnv);
-		}
 		
+		userCourseEnv.getScoreAccounting().scoreInfoChanged(courseNode, scoreEvaluation);
+		// Update users efficiency statement
+		efficiencyStatementManager.updateUserEfficiencyStatement(userCourseEnv);
+
 		if(passed != null && passed.booleanValue() && course.getCourseConfig().isAutomaticCertificationEnabled()) {
 			if(certificatesManager.isCertificationAllowed(assessedIdentity, courseEntry)) {
 				CertificateTemplate template = null;
diff --git a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentIdentitiesCourseNodeController.java b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentIdentitiesCourseNodeController.java
index 946205a2253b42d1853d9b2ae95720dffc333965..5525792df03eb3176ea09a31c4ba6de7e3528912 100644
--- a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentIdentitiesCourseNodeController.java
+++ b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentIdentitiesCourseNodeController.java
@@ -245,7 +245,9 @@ public class AssessmentIdentitiesCourseNodeController extends FormBasicControlle
 		List<AssessedIdentityCourseElementRow> rows = new ArrayList<>(assessedIdentities.size());
 		for(Identity assessedIdentity:assessedIdentities) {
 			AssessmentEntry entry = entryMap.get(assessedIdentity.getKey());
-			rows.add(new AssessedIdentityCourseElementRow(assessedIdentity, entry, userPropertyHandlers, getLocale()));
+			if(accept(entry, params)) {
+				rows.add(new AssessedIdentityCourseElementRow(assessedIdentity, entry, userPropertyHandlers, getLocale()));
+			}
 		}
 		usersTableModel.setObjects(rows);
 		tableEl.reloadData();
@@ -281,6 +283,27 @@ public class AssessmentIdentitiesCourseNodeController extends FormBasicControlle
 		flc.contextPut("toolCmpNames", toolCmpNames);
 	}
 	
+	private boolean accept(AssessmentEntry entry, SearchAssessedIdentityParams params) {
+		boolean ok = true;
+		
+		if(params.isPassed() && (entry == null || entry.getPassed() == null || !entry.getPassed().booleanValue())) {
+			ok &= false;
+		}
+		
+		if(params.isFailed() && (entry == null || entry.getPassed() == null || entry.getPassed().booleanValue())) {
+			ok &= false;
+		}
+		
+		if(params.getAssessmentStatus() != null && params.getAssessmentStatus().size() > 0) {
+			if(entry == null || entry.getAssessmentStatus() == null) {
+				ok &= false;
+			} else {
+				ok &= !params.getAssessmentStatus().contains(entry.getAssessmentStatus());
+			}
+		}
+		return ok;
+	}
+	
 	private void fillAlternativeToAssessableIdentityList(AssessmentToolOptions options) {
 		List<Group> baseGroups = new ArrayList<>();
 		if((assessmentCallback.canAssessRepositoryEntryMembers() && assessmentCallback.getCoachedGroups().isEmpty())
diff --git a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentIdentitiesCourseNodeTableModel.java b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentIdentitiesCourseNodeTableModel.java
index a077b84c846984a6e8919ba58ce300c4dadbf201..9c9d85ff4bc3633268943dec61b660e6d971c827 100644
--- a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentIdentitiesCourseNodeTableModel.java
+++ b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentIdentitiesCourseNodeTableModel.java
@@ -19,16 +19,20 @@
  */
 package org.olat.course.assessment.ui.tool;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiTableDataModel;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.FilterableFlexiTableModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiSortableColumnDef;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableDataModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableModelDelegate;
+import org.olat.core.util.StringHelper;
 import org.olat.course.nodes.AssessableCourseNode;
 import org.olat.course.nodes.STCourseNode;
+import org.olat.modules.assessment.model.AssessmentEntryStatus;
 
 /**
  * 
@@ -37,15 +41,51 @@ import org.olat.course.nodes.STCourseNode;
  *
  */
 public class AssessmentIdentitiesCourseNodeTableModel extends DefaultFlexiTableDataModel<AssessedIdentityCourseElementRow>
-	implements SortableFlexiTableDataModel<AssessedIdentityCourseElementRow> {
+	implements SortableFlexiTableDataModel<AssessedIdentityCourseElementRow>, FilterableFlexiTableModel {
 
 	private final AssessableCourseNode courseNode;
+	private List<AssessedIdentityCourseElementRow> backups;
 	
 	public AssessmentIdentitiesCourseNodeTableModel(FlexiTableColumnModel columnModel, AssessableCourseNode courseNode) {
 		super(columnModel);
 		this.courseNode = courseNode;
 	}
-	
+
+	@Override
+	public void filter(String key) {
+		if(StringHelper.containsNonWhitespace(key)) {
+			List<AssessedIdentityCourseElementRow> filteredRows = new ArrayList<>();
+			if("passed".equals(key)) {
+				for(AssessedIdentityCourseElementRow row:getObjects()) {
+					if(row.getPassed() != null && row.getPassed().booleanValue()) {
+						filteredRows.add(row);
+					}
+				}
+			} else if("failed".equals(key)) {
+				for(AssessedIdentityCourseElementRow row:getObjects()) {
+					if(row.getPassed() != null && !row.getPassed().booleanValue()) {
+						filteredRows.add(row);
+					}
+				}
+			} else if(AssessmentEntryStatus.isValueOf(key)) {
+				for(AssessedIdentityCourseElementRow row:getObjects()) {
+					if(row.getAssessmentStatus() != null && key.equals(row.getAssessmentStatus().name())) {
+						filteredRows.add(row);
+					}
+				}
+			}
+			super.setObjects(filteredRows);
+		} else {
+			super.setObjects(backups);
+		}
+	}
+
+	@Override
+	public void setObjects(List<AssessedIdentityCourseElementRow> objects) {
+		backups = objects;
+		super.setObjects(objects);
+	}
+
 	@Override
 	public void sort(SortKey orderBy) {
 		SortableFlexiTableModelDelegate<AssessedIdentityCourseElementRow> sorter
diff --git a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentIdentityCourseController.java b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentIdentityCourseController.java
index 3d1ba2f127555ac714760ba2d5a11a1e8ac0d7ff..8acd7c50e9d4ac807399e9e4fd32ecb04714e1a4 100644
--- a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentIdentityCourseController.java
+++ b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentIdentityCourseController.java
@@ -206,21 +206,22 @@ public class AssessmentIdentityCourseController extends BasicController {
 		int index = treeOverviewCtrl.getIndexOf(courseNode);
 		int numOfNodes = treeOverviewCtrl.getNumberOfNodes();
 		
-		previousLink = LinkFactory.createToolLink("previouselement","", this, "o_icon_previous");
+		previousLink = LinkFactory.createToolLink("previouselement", translate("previous"), this, "o_icon_previous");
 		previousLink.setTitle(translate("command.previous"));
 		previousLink.setEnabled(index > 1 && index <= numOfNodes);
-		stackPanel.addTool(previousLink, Align.rightEdge, false, "");
+		stackPanel.addTool(previousLink, Align.rightEdge, false);
 
 		courseNodeSelectionLink =  LinkFactory.createToolLink("node.select", "node.select", courseNode.getShortTitle(), this);
 		String courseNodeCssClass = CourseNodeFactory.getInstance()
 				.getCourseNodeConfigurationEvenForDisabledBB(courseNode.getType()).getIconCSSClass();
+		courseNodeSelectionLink.setElementCssClass("dropdown-toggle ");
 		courseNodeSelectionLink.setIconLeftCSS("o_icon " + courseNodeCssClass);
 		courseNodeSelectionLink.setIconRightCSS("o_icon o_icon_caret");
-		stackPanel.addTool(courseNodeSelectionLink, Align.rightEdge, false);
+		stackPanel.addTool(courseNodeSelectionLink, Align.rightEdge, false, "o_tool_dropdown dropdown");
 		
-		nextLink = LinkFactory.createToolLink("nextelement","", this, "o_icon_next");
+		nextLink = LinkFactory.createToolLink("nextelement", translate("next"), this, "o_icon_next");
 		nextLink.setTitle(translate("command.next"));
 		nextLink.setEnabled(index > 0 && index < numOfNodes);
-		stackPanel.addTool(nextLink, Align.rightEdge, false, "");
+		stackPanel.addTool(nextLink, Align.rightEdge, false);
 	}
 }
diff --git a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_de.properties
index cbb6dcae32cec1a0454b0af9e4f8de9c4b4dbfca..9516d34476f9510b45d818fcce51b4db22749461 100644
--- a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_de.properties
@@ -24,6 +24,7 @@ waiting.review=Pending reviews
 no.certificate=Kein Zertifikat vorhanden
 elements.to.review=<i class="o_icon o_icon_warning"> </i> {0} pending
 sub.details=Details
+previous=Zurück
 filter=Filter
 filter.passed=Bestanden
 filter.failed=Nicht bestanden
diff --git a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_en.properties
index c31d34757e58110e3f93943f48fe2f8d89ab532f..cb8ce70a3fffecb8d8addae64474ffdbdf39cc0c 100644
--- a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_en.properties
@@ -1,3 +1,4 @@
 #Fri Feb 06 10:03:07 CET 2015
 certificates.wizard.title=$org.olat.course.certificate.ui\:certificates.wizard.title
 generate.certificate=$org.olat.course.certificate.ui\:generate.certificate
+previous=Previous
diff --git a/src/main/java/org/olat/course/nodes/CalculatedAssessableCourseNode.java b/src/main/java/org/olat/course/nodes/CalculatedAssessableCourseNode.java
new file mode 100644
index 0000000000000000000000000000000000000000..f61c916a8bdf9652199b9e74f18955621456a5bf
--- /dev/null
+++ b/src/main/java/org/olat/course/nodes/CalculatedAssessableCourseNode.java
@@ -0,0 +1,34 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.course.nodes;
+
+import org.olat.course.run.scoring.ScoreCalculator;
+
+/**
+ * 
+ * Initial date: 01.12.2015<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public interface CalculatedAssessableCourseNode extends AssessableCourseNode {
+	
+	public ScoreCalculator getScoreCalculator();
+
+}
diff --git a/src/main/java/org/olat/course/nodes/STCourseNode.java b/src/main/java/org/olat/course/nodes/STCourseNode.java
index a38d1b30beef19f7a8d1b03581467884bc3f9086..7d022cf8bf117f7cfbf52ee6a3b42158c88fe90e 100644
--- a/src/main/java/org/olat/course/nodes/STCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/STCourseNode.java
@@ -95,7 +95,7 @@ import org.olat.util.logging.activity.LoggingResourceable;
  * @author Mike Stock
  * @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>)
  */
-public class STCourseNode extends AbstractAccessableCourseNode implements AssessableCourseNode {
+public class STCourseNode extends AbstractAccessableCourseNode implements CalculatedAssessableCourseNode {
 
 	private static final long serialVersionUID = -7460670977531082040L;
 	private static final String TYPE = "st";
diff --git a/src/main/java/org/olat/course/run/preview/PreviewAssessmentManager.java b/src/main/java/org/olat/course/run/preview/PreviewAssessmentManager.java
index 426feaf09a420827ef08a2d1806cf7cf86ae4e09..f9d77b1939764224883edf0d56ab370f609b0b6c 100644
--- a/src/main/java/org/olat/course/run/preview/PreviewAssessmentManager.java
+++ b/src/main/java/org/olat/course/run/preview/PreviewAssessmentManager.java
@@ -37,6 +37,7 @@ import org.olat.core.logging.AssertException;
 import org.olat.core.manager.BasicManager;
 import org.olat.core.util.event.GenericEventListener;
 import org.olat.course.assessment.AssessmentManager;
+import org.olat.course.nodes.AssessableCourseNode;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.run.scoring.ScoreEvaluation;
 import org.olat.course.run.userview.UserCourseEnvironment;
@@ -84,6 +85,7 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 	/**
 	 * @see org.olat.course.assessment.AssessmentManager#saveNodeAttempts(org.olat.course.nodes.CourseNode, org.olat.core.id.Identity, org.olat.core.id.Identity, java.lang.Integer)
 	 */
+	@Override
 	public void saveNodeAttempts(CourseNode courseNode, Identity identity, Identity assessedIdentity, Integer attempts) {
 		nodeAttempts.put(courseNode.getIdent(), attempts);
 	}
@@ -91,6 +93,7 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 	/**
 	 * @see org.olat.course.assessment.AssessmentManager#saveNodeComment(org.olat.course.nodes.CourseNode, org.olat.core.id.Identity, org.olat.core.id.Identity, java.lang.String)
 	 */
+	@Override
 	public void saveNodeComment(CourseNode courseNode, Identity identity, Identity assessedIdentity, String comment) {
 		throw new AssertException("Not implemented for preview.");
 	}
@@ -98,6 +101,7 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 	/**
 	 * @see org.olat.course.assessment.AssessmentManager#saveNodeCoachComment(org.olat.course.nodes.CourseNode, org.olat.core.id.Identity, java.lang.String)
 	 */
+	@Override
 	public void saveNodeCoachComment(CourseNode courseNode, Identity assessedIdentity, String comment) {
 		throw new AssertException("Not implemented for preview.");
 	}
@@ -112,6 +116,7 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 	/**
 	 * @see org.olat.course.assessment.AssessmentManager#incrementNodeAttempts(org.olat.course.nodes.CourseNode, org.olat.core.id.Identity)
 	 */
+	@Override
 	public void incrementNodeAttempts(CourseNode courseNode, Identity identity, UserCourseEnvironment userCourseEnvironment) {
 		Integer attempts = nodeAttempts.get(courseNode.getIdent());
 		if (attempts == null) attempts = new Integer(0);
@@ -132,6 +137,7 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 	/**
 	 * @see org.olat.course.assessment.AssessmentManager#getNodeScore(org.olat.course.nodes.CourseNode, org.olat.core.id.Identity)
 	 */
+	@Override
 	public Float getNodeScore(CourseNode courseNode, Identity identity) {
 		return nodeScores.get(courseNode.getIdent());
 	}
@@ -139,6 +145,7 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 	/**
 	 * @see org.olat.course.assessment.AssessmentManager#getNodeComment(org.olat.course.nodes.CourseNode, org.olat.core.id.Identity)
 	 */
+	@Override
 	public String getNodeComment(CourseNode courseNode, Identity identity) {
 		return "This is a preview"; //default comment for preview
 	}
@@ -146,6 +153,7 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 	/**
 	 * @see org.olat.course.assessment.AssessmentManager#getNodeCoachComment(org.olat.course.nodes.CourseNode, org.olat.core.id.Identity)
 	 */
+	@Override
 	public String getNodeCoachComment(CourseNode courseNode, Identity identity) {
 		return "This is a preview"; //default comment for preview
 	}
@@ -153,6 +161,7 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 	/**
 	 * @see org.olat.course.assessment.AssessmentManager#getNodePassed(org.olat.course.nodes.CourseNode, org.olat.core.id.Identity)
 	 */
+	@Override
 	public Boolean getNodePassed(CourseNode courseNode, Identity identity) {
 		return nodePassed.get(courseNode.getIdent());
 	}
@@ -165,6 +174,7 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 	/**
 	 * @see org.olat.course.assessment.AssessmentManager#getNodeAttempts(org.olat.course.nodes.CourseNode, org.olat.core.id.Identity)
 	 */
+	@Override
 	public Integer getNodeAttempts(CourseNode courseNode, Identity identity) {
 		Integer attempts = nodeAttempts.get(courseNode.getIdent());
 		return (attempts == null ? new Integer(0) : attempts);
@@ -173,6 +183,7 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 	/**
 	 * @see org.olat.course.assessment.AssessmentManager#registerForAssessmentChangeEvents(org.olat.core.util.event.GenericEventListener, org.olat.core.id.Identity)
 	 */
+	@Override
 	public void registerForAssessmentChangeEvents(GenericEventListener gel, Identity identity) {
 		throw new AssertException("Not implemented for preview.");
 	}
@@ -180,6 +191,7 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 	/**
 	 * @see org.olat.course.assessment.AssessmentManager#deregisterFromAssessmentChangeEvents(org.olat.core.util.event.GenericEventListener)
 	 */
+	@Override
 	public void deregisterFromAssessmentChangeEvents(GenericEventListener gel) {
 		throw new AssertException("Not implemented for preview.");
 	}
@@ -211,7 +223,8 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 	 * 
 	 * @see org.olat.course.assessment.AssessmentManager#saveScoreEvaluation(org.olat.course.nodes.CourseNode, org.olat.core.id.Identity, org.olat.core.id.Identity, org.olat.course.run.scoring.ScoreEvaluation)
 	 */
-	public void saveScoreEvaluation(CourseNode courseNode, Identity identity, Identity assessedIdentity, ScoreEvaluation scoreEvaluation, 
+	@Override
+	public void saveScoreEvaluation(AssessableCourseNode courseNode, Identity identity, Identity assessedIdentity, ScoreEvaluation scoreEvaluation, 
 			UserCourseEnvironment userCourseEnvironment, boolean incrementUserAttempts) {
 		
 		saveNodeScore(courseNode, scoreEvaluation.getScore());
@@ -221,10 +234,9 @@ final class PreviewAssessmentManager extends BasicManager implements AssessmentM
 			incrementNodeAttempts(courseNode, identity, userCourseEnvironment);
 		}
 	}
-	
-	
+
+	@Override
 	public OLATResourceable createOLATResourceableForLocking(Identity assessedIdentity) {				
 		throw new AssertException("Not implemented for preview.");
 	}
-	
 }
\ No newline at end of file