diff --git a/.gitignore b/.gitignore
index 86834b602f298a708d1acdc1ad05ad78cff39599..2b8324a4163f34e8c4481354c08c840a49078e87 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
-exam/static/exam/MathJax/
-exam/static/exam/mathjax/
+app/static/MathJax/
+app/static/mathjax/
 .project
 app.db
 my.cnf
diff --git a/app/static/js/exam.js b/app/static/js/exam.js
index 6542167f29a6f9ba7e9acc07ef1f0c024abbc43c..87d41288fab5638618d20b4df1ed7befeac9ded9 100755
--- a/app/static/js/exam.js
+++ b/app/static/js/exam.js
@@ -1,7 +1,6 @@
-//(c) 2019 by gabriel2029
+//(c) 2020 by gabriel2029
 
 /* Editor-Setup */
-
 var codeTextareas = new Map();
 
 function getTaskAnswerBlocks(task_id) {
@@ -196,27 +195,27 @@ function initWebsocket(translations, csrf_token) {
 		});
 
 		$('.pretest-info[data-task_id="' + task_id + '"][data-attempt="' + attempt + '"]').html(
-			'<pre><code>' + translations['waiting_result'] + '</pre></code>');
+			'<pre><code>' + translations['waiting_result'] + '</code></pre>');
 		$('.compilation-info[data-task_id="' + task_id + '"][data-attempt="' + attempt + '"]').html(
-			'<pre><code>' + translations['waiting_result'] + '</pre></code>');
+			'<pre><code>' + translations['waiting_result'] + '</code></pre>');
 		$('.run-info[data-task_id="' + task_id + '"][data-attempt="' + attempt + '"]').html(
-			'<pre><code>' + translations['waiting_result'] + '</pre></code>');
+			'<pre><code>' + translations['waiting_result'] + '</code></pre>');
 	});
 
 	// Get information from server
 	socket.on('pretest_info', function(data) {
 		$('.pretest-info[data-task_id="' + data.task_id + '"][data-attempt="' + data.attempt + '"]').html(
-			'<pre><code>' + data.text + '</pre></code>');
+			'<pre><code>' + data.text + '</code></pre>');
 	});
 
 	socket.on('compile_info', function(data) {
 		$('.compilation-info[data-task_id="' + data.task_id + '"][data-attempt="' + data.attempt + '"]').html(
-			'<pre><code>' + data.text + '</pre></code>');
+			'<pre><code>' + data.text + '</code></pre>');
 	});
 
 	socket.on('run_info', function(data) {
 		$('.run-info[data-task_id="' + data.task_id + '"][data-attempt="' + data.attempt + '"]').html(
-			'<pre><code>' + data.text + '</pre></code>');
+			'<pre><code>' + data.text + '</code></pre>');
 	});
 }
 
@@ -248,11 +247,11 @@ function initWebsocketAdmin(translations, csrf_token) {
 		let attempt = $(this).data('attempt');
 
 		$('.pretest-info[data-task_id="' + task_id + '"][data-user_id="' + user_id + '"][data-attempt="' + attempt + '"]').html(
-			'<pre><code>' + translations['waiting_result'] + '</pre></code>');
+			'<pre><code>' + translations['waiting_result'] + '</code></pre>');
 		$('.compilation-info[data-task_id="' + task_id + '"][data-user_id="' + user_id + '"][data-attempt="' + attempt + '"]').html(
-			'<pre><code>' + translations['waiting_result'] + '</pre></code>');
+			'<pre><code>' + translations['waiting_result'] + '</code></pre>');
 		$('.run-info[data-task_id="' + task_id + '"][data-user_id="' + user_id + '"][data-attempt="' + attempt + '"]').html(
-			'<pre><code>' + translations['waiting_result'] + '</pre></code>');
+			'<pre><code>' + translations['waiting_result'] + '</code></pre>');
 
 		socket.emit('admin_rejudge', {
 			task_id: task_id,
@@ -264,17 +263,17 @@ function initWebsocketAdmin(translations, csrf_token) {
 	// Get information from server
 	socket.on('pretest_info', function(data) {
 		$('.pretest-info[data-task_id="' + data.task_id + '"][data-user_id="' + data.user_id + '"][data-attempt="' + data.attempt + '"]').html(
-			'<pre><code>' + data.text + '</pre></code>');
+			'<pre><code>' + data.text + '</code></pre>');
 	});
 
 	socket.on('compile_info', function(data) {
 		$('.compilation-info[data-task_id="' + data.task_id + '"][data-user_id="' + data.user_id + '"][data-attempt="' + data.attempt + '"]').html(
-			'<pre><code>' + data.text + '</pre></code>');
+			'<pre><code>' + data.text + '</code></pre>');
 	});
 
 	socket.on('run_info', function(data) {
 		$('.run-info[data-task_id="' + data.task_id + '"][data-user_id="' + data.user_id + '"][data-attempt="' + data.attempt + '"]').html(
-			'<pre><code>' + data.text + '</pre></code>');
+			'<pre><code>' + data.text + '</code></pre>');
 	});
 }
 
diff --git a/readme.md b/readme.md
index e7eb774969cfae1c883d7ef67f83c2116ed6a09b..7ae9976a130d46ca8499f9650cba8a11fc4f91a5 100644
--- a/readme.md
+++ b/readme.md
@@ -1,8 +1,8 @@
 # ChiefExam
-ChiefExam is an online exam software, mainly designed for students to prepare for "real" exams. It can be used in exercises to help the students checking out their knowledge. The advisor can discuess occured problems after the exam simulation. The software is open-source and can be used by everyone, as long the usage met the requirements of the GNU license. The main features are:
+ChiefExam is an online exam software, mainly designed for students to prepare for "real" exams. It can be used in exercises to help the students checking out their knowledge. The advisor can discuss occured problems after the exam simulation. The software is open-source and can be used by everyone, as long the usage met the requirements of the GNU license. The main features are:
 - User and group management, so that multiple classes can be managed on only one instance.
 - Support for multiple choice tasks (including different grading options), open tasks with manual or automatic correction (by using custom Python graders) or programming tasks (currently only Java and Python; other languages will be added in the future).
 - Multiple language-support (currently English and German) and automatic adjustments for timezones.
-- Downloading and uploading.
+- Downloading and uploading task descriptions.
 
 For installation and usage have a look at the [Wiki](https://gitlab.cs.fau.de/it62ajow/chiefexam/-/wikis/home).