public void interpretUserResponse(String response){
		
		HashMap<String, String> userResponseInDetail = new HashMap<String, String>();
		userResponseInDetail = jsonParser.decodeUserResponse(response);

		Utils.printWithDate("Response at: " + userResponseInDetail.get("displayDate") + " type: " + userResponseInDetail.get("contentType"), Utils.DEBUGLEVEL.GENERAL);
		
		//Check whether last user response was already interpreted
		if(!displayDateOfLastUserResponse.equals(userResponseInDetail.get("displayDate"))){
			
			displayDateOfLastUserResponse = userResponseInDetail.get("displayDate");
			Utils.printWithDate("Interpreting user response...", Utils.DEBUGLEVEL.DEBUG);
			
			//user answered to the request for his/her current mood	
			if(userResponseInDetail.get("contentType").equals("survey")){
				String userAnswer = userResponseInDetail.get("userAnswer");
					Utils.printWithDate("userAnswer : " + userAnswer, Utils.DEBUGLEVEL.GENERAL);
				main.user.setMood(new UserMoodInterpreter().interpreterUserMood(userResponseInDetail.get("userAnswer")));
					Utils.printWithDate("userMood : " + main.user.getMood(), Utils.DEBUGLEVEL.DEBUG);	
				main.user.setLastUpdateMood(LocalDateTime.parse(userResponseInDetail.get("displayDate"), DateTimeFormatter.RFC_1123_DATE_TIME));
					Utils.printWithDate(" at " + main.user.getLastUpdateMood(), Utils.DEBUGLEVEL.DEBUG);
					
				main.contextInformation.put("userMood", main.user.getMood());
				main.reactToCurrentContext(main.contextInformation);
			}
			//recommendation was displayed + optional: was rated, quiz was answered
			else if(userResponseInDetail.get("contentType").equals("recommendation")){
				//get all needed information to store answer in user model: 
				//rec_id, rec_category, displayedAt, user_rating, quiz_result, quiz_answer already in HashMap "userResponseInDetail"
				
				//add context information: daytime, userMood, importantTags (stored with chosen recommendation)
				//get recommendation from main history
				Recommendation rec = main.recommendationsHistory.get(userResponseInDetail.get("contentID"));
				
				//get context information of recommendation
				HashMap<String, String> contextInformation = rec.getLastContext();
				userResponseInDetail.put("daytime", contextInformation.get("daytime"));
				userResponseInDetail.put("userMood", contextInformation.get("userMood"));
				userResponseInDetail.put("lightConditionOutdoors", contextInformation.get("lightConditionOutdoors"));
				userResponseInDetail.put("weatherCondition", contextInformation.get("weatherCondition"));
			
				String importantTags = "";
				
				if (contextInformation.containsKey("user_movement")) {
					importantTags += contextInformation.get("user_state") + ",";
				}

				if (contextInformation.containsKey("room_airquality")) {
					importantTags += contextInformation.get("room_airquality") + ",";
				}

				if(contextInformation.containsKey("userMood")){
					if (contextInformation.get("userMood").equals("badMood")) {
						importantTags += contextInformation.get("userMood") + ",";
					}
				}
				
				importantTags = main.cutOffLastCommaOfString(importantTags);
				
				userResponseInDetail.put("importantTags", importantTags);
				
				//insert into collection in mongoDB => user model
				if (DemonstratorMain.mongoDBConnection != null){
					String database = ((JSONObject)jsonConfig.get("MongoDB")).get("dbNameUserModel").toString();
					String collection = ((JSONObject)jsonConfig.get("MongoDB")).get("collectionNameUserModel").toString();
					DemonstratorMain.mongoDBConnection.insertDataDirectly(userResponseInDetail, database, collection);
				}
				else{
					Utils.printWithDate("User response was interpreted. No database entry.", Utils.DEBUGLEVEL.DEBUG);
					Iterator<String> keys = userResponseInDetail.keySet().iterator();
					while(keys.hasNext()){
						String key = keys.next();
						Utils.printWithDate("key: " + key + " value: " + userResponseInDetail.get(key), Utils.DEBUGLEVEL.DEBUG);
					}
				}
			}
		}
		else{
			Utils.printWithDate("User response already interpreted.", Utils.DEBUGLEVEL.DEBUG);
		}
	}