diff --git a/Readme.md b/Readme.md
index 3febc0e..49f2666 100644
--- a/Readme.md
+++ b/Readme.md
@@ -8,8 +8,8 @@
 Krill is a [Lucene](https://lucene.apache.org/) based search
 engine for large annotated corpora.
 
-**The software is in its early stages and not stable yet!**
-**Use it on your own risk!**
+**! The software is in its early stages and not stable yet!**
+** Use it on your own risk!**
 
 
 ## Features
@@ -19,8 +19,8 @@
 most of the protocols features, including ...
 
 - **Fulltext search**<br>
-  "Find all occurrences of the phrase 'sea monster'!"<br>
-  "Find all case-insensitive words matching the regular expression /krak.*/"
+  ***"Find all occurrences of the phrase 'sea monster'!"***<br>
+  ***"Find all case-insensitive words matching the regular expression /krak.*/!"***
 
 - **Token-based annotation search**<br>
   "Find all plural nouns in accusative!"
@@ -29,10 +29,14 @@
   "Find all nominal phrases!"
 
 - **Distance search**<br>
+  "Find a verb that is in a distance of five words to the noun 'Squid'!"
 
 - **Positional search**<br>
+  "Find a noun at the end of a nominal phrase!"
 
 - **Nested queries**<br>
+  "Find a determiner at the beginning of a named entity,
+  that occurs at the end of a sentence!"
 
 - **and many more ...**<br>
   Multiple annotation resources;
@@ -55,17 +59,23 @@
 
 To fetch the latest version of Krill ...
 
-  $ git clone https://github.com/KorAP/Krill
-  $ cd Krill
+```
+$ git clone https://github.com/KorAP/Krill
+$ cd Krill
+```
 
 To run the test suite ...
 
-  $ mvn clean test
+```
+$ mvn clean test
+```
+
 
 To start the server ...
 
-  $ mvn compile exec:java
-
+```
+$ mvn compile exec:java
+```
 
 ## Caveats
 
@@ -82,11 +92,11 @@
 **Authors**: [Nils Diewald](http://nils-diewald.de/),
 	     [Eliza Margaretha](http://www1.ids-mannheim.de/direktion/personal/margaretha.html)
 
-Copyright (c) 2013-2015, IDS Mannheim, Germany
+Copyright (c) 2013-2015, [IDS Mannheim](http://ids-mannheim.de/), Germany
 
-Krill is developed as part of the [KorAP](https://korap.ids-mannheim.de/)
+Krill is developed as part of the [KorAP](http://korap.ids-mannheim.de/)
 Corpus Analysis Platform at the Institute for German Language
-([IDS](http://www1.ids-mannheim.de/)),
+([IDS](http://ids-mannheim.de/)),
 funded by the
 [Leibniz-Gemeinschaft](http://www.leibniz-gemeinschaft.de/en/about-us/leibniz-competition/projekte-2011/2011-funding-line-2/)
 and supported by the [KobRA](http://www.kobra.tu-dortmund.de) project,
@@ -104,7 +114,7 @@
 Parts of the test corpus by courtesy of the
 [DeReKo](http://ids-mannheim.de/kl/projekte/korpora/) project.
 
-To cite this work, please refer to:<br>
+**To cite this work, please refer to:**<br>
 Bański, Piotr, Joachim Bingel, Nils Diewald, Elena Frick, Michael Hanl, Marc Kupietz, Piotr Pęzik, Carsten Schnober, and Andreas Witt (2013):
 *KorAP: the new corpus analysis platform at IDS Mannheim*. In: Z. Vetulani and H. Uszkoreit (eds):
 *Human Language Technologies as a Challenge for Computer Science and Linguistics.*
@@ -120,7 +130,9 @@
 You can either reformat using [Eclipse](http://eclipse.org/) or (recommended) using
 [Maven](https://maven.apache.org/) with the command
 
+```
   $ mvn java-formatter:format
+```
 
 
 ## References
