diff --git a/src/main/java/de/thm/arsnova/SessionController.java b/src/main/java/de/thm/arsnova/SessionController.java
index e283957c726c5b3914364e6e4c57145cd1c38747..f92414b7356e86243955d40069477492cf06a67c 100644
--- a/src/main/java/de/thm/arsnova/SessionController.java
+++ b/src/main/java/de/thm/arsnova/SessionController.java
@@ -42,6 +42,7 @@ import de.thm.arsnova.entities.User;
 import de.thm.arsnova.services.ISessionService;
 import de.thm.arsnova.services.IUserService;
 import de.thm.arsnova.socket.ARSnovaSocketIOServer;
+import de.thm.arsnova.socket.message.Question;
 
 @Controller
 public class SessionController {
@@ -108,6 +109,20 @@ public class SessionController {
 		return sessions;
 	}
 	
+	@RequestMapping(value="/getSkillQuestions/{sessionkey}", method=RequestMethod.GET)
+	@ResponseBody
+	public List<Question> getSkillQuestions(@PathVariable String sessionkey, HttpServletResponse response) {
+		List<Question> questions = sessionService.getSkillQuestions(sessionkey);
+		if(questions == null || questions.isEmpty()) {
+			response.setStatus(HttpStatus.NOT_FOUND.value());
+			return null;
+		}
+		logger.info(questions.toString());
+		return questions;
+	}
+	
+	
+	
 	@RequestMapping(value="/socketurl", method=RequestMethod.GET)
 	@ResponseBody
 	public String getSocketUrl() {
diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index d90ee94aa953c9c9ace690fcd0bacdfa85ec13f2..0436f11b2fd1d19080ceabbb47c1ee45ae0cd02b 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -30,9 +30,16 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import net.sf.ezmorph.Morpher;
+import net.sf.ezmorph.MorpherRegistry;
+import net.sf.ezmorph.bean.BeanMorpher;
+import net.sf.ezmorph.bean.MorphDynaBean;
 import net.sf.json.JSONException;
 import net.sf.json.JSONObject;
+import net.sf.json.util.JSONUtils;
 
+import org.apache.commons.beanutils.DynaBean;
+import org.apache.commons.beanutils.DynaClass;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -53,6 +60,7 @@ import de.thm.arsnova.entities.Session;
 import de.thm.arsnova.entities.User;
 import de.thm.arsnova.services.ISessionService;
 import de.thm.arsnova.services.IUserService;
+import de.thm.arsnova.socket.message.PossibleAnswer;
 import de.thm.arsnova.socket.message.Question;
 
 @Component
@@ -177,6 +185,38 @@ public class CouchDBDao implements IDatabaseDao {
 		}
 	}
 	
+	@Override
+	public List<Question> getSkillQuestions(String session) {		
+		try {
+			View view = new View("skill_question/by_session");
+			view.setStartKey("[" + URLEncoder.encode("\"" + session + "\"", "UTF-8") + "]");
+			view.setEndKey("[" + URLEncoder.encode("\"" + session + "\",{}", "UTF-8") + "]");
+
+			ViewResults questions = this.getDatabase().view(view);
+	
+			List<Question> result = new ArrayList<Question>();
+			logger.info(questions.toString());
+			MorpherRegistry morpherRegistry = JSONUtils.getMorpherRegistry();
+			Morpher dynaMorpher = new BeanMorpher(PossibleAnswer.class, morpherRegistry); 
+			morpherRegistry.registerMorpher(dynaMorpher);
+			for (Document d : questions.getResults()) {
+				Question q = (Question) JSONObject.toBean(d.getJSONObject().getJSONObject("value"), Question.class);
+				List<PossibleAnswer> answers = new ArrayList<PossibleAnswer>();
+				for(Object answer : q.getPossibleAnswers()) {
+					PossibleAnswer a = (PossibleAnswer) morpherRegistry.morph(PossibleAnswer.class, answer);
+					answers.add(a);
+				}
+				q.setPossibleAnswers(answers);
+				result.add(q);
+			}
+			
+			return result;
+		} catch (UnsupportedEncodingException e) {
+			return null;
+		}
+	}
+	
+	
 	@Override
 	public Session getSessionFromKeyword(String keyword) {
 		try {
diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
index d42be57a1466b3d4c6543fe0db95163764f0a3ce..eed604f2c602c8ecfc3c3f9ac510f8448e2e9948 100644
--- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
+++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
@@ -37,4 +37,5 @@ public interface IDatabaseDao {
 	public boolean sessionKeyAvailable(String keyword);
 	
 	public boolean saveQuestion(Session session, Question question);
+	List<Question> getSkillQuestions(String session);
 }
\ No newline at end of file
diff --git a/src/main/java/de/thm/arsnova/services/ISessionService.java b/src/main/java/de/thm/arsnova/services/ISessionService.java
index 12382d6c8463886e77225794fd3517d0edd48a81..c367f37560c1cdf8f478d50cb6870004354d7bff 100644
--- a/src/main/java/de/thm/arsnova/services/ISessionService.java
+++ b/src/main/java/de/thm/arsnova/services/ISessionService.java
@@ -26,7 +26,6 @@ import java.util.Set;
 import de.thm.arsnova.entities.Feedback;
 import de.thm.arsnova.entities.Session;
 import de.thm.arsnova.entities.User;
-
 import de.thm.arsnova.socket.message.Question;
 
 
@@ -46,4 +45,5 @@ public interface ISessionService {
 	
 	public List<Session> getMySessions(String username);
 	public boolean saveQuestion(Question question);
+	public List<Question> getSkillQuestions(String sessionkey);
 }
\ No newline at end of file
diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java
index 9a5c774c4a18d178649433bac4ff35e62ee918ea..628590cca68458f304da8a3906f3b4adc40a1196 100644
--- a/src/main/java/de/thm/arsnova/services/SessionService.java
+++ b/src/main/java/de/thm/arsnova/services/SessionService.java
@@ -76,6 +76,11 @@ public class SessionService implements ISessionService {
 		return databaseDao.getMySessions(username);
 	}
 
+	@Override
+	public List<Question> getSkillQuestions(String sessionkey) {
+		return databaseDao.getSkillQuestions(sessionkey);
+	}
+	
 	@Override
 	public Session saveSession(Session session) {
 		return databaseDao.saveSession(session);
diff --git a/src/main/java/de/thm/arsnova/socket/message/Question.java b/src/main/java/de/thm/arsnova/socket/message/Question.java
index e271fcc43f742acc63da1f60599ea06fb1a00815..5f68be3d7c64cce1a4ab1a2b8ba7270d0182c764 100644
--- a/src/main/java/de/thm/arsnova/socket/message/Question.java
+++ b/src/main/java/de/thm/arsnova/socket/message/Question.java
@@ -22,6 +22,7 @@ import java.util.List;
 
 public class Question {
 
+	private String type;
 	private String questionType;
 	private String subject;
 	private String text;
@@ -30,6 +31,16 @@ public class Question {
 	private List<PossibleAnswer> possibleAnswers;
 	private boolean noCorrect;
 	private String session;
+	private int number;	
+	
+	
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
 	
 	public String getQuestionType() {
 		return questionType;
@@ -87,6 +98,14 @@ public class Question {
 		this.noCorrect = noCorrect;
 	}
 	
+	public String getSessionId() {
+		return session;
+	}
+
+	public void setSessionId(String session) {
+		this.session = session;
+	}
+	
 	public String getSession() {
 		return session;
 	}
@@ -95,8 +114,17 @@ public class Question {
 		this.session = session;
 	}
 
+	public int getNumber() {
+		return number;
+	}
+
+	public void setNumber(int number) {
+		this.number = number;
+	}
+
 	@Override
 	public String toString() {
-		return "Question type '" + this.questionType + "': " + this.subject + ";\n" + this.text;
+		return "Question type '" + this.questionType + "': " + this.subject + ";\n" + this.text +
+				this.possibleAnswers;
 	}
 }