diff --git a/pom.xml b/pom.xml
index 7cfd702..2164324 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,7 +52,7 @@
         <asciidoctorj-version>1.5.4</asciidoctorj-version>
         <asciidoctorj-diagram-versions>1.5.4.1</asciidoctorj-diagram-versions>
         <jruby-complete-version>1.7.21</jruby-complete-version>
-        <javax.mail.version>1.4</javax.mail.version>
+        <javax.mail.version>1.4.3</javax.mail.version>
         <greenmail.version>1.5.7</greenmail.version>
         <rabbitmq.version>5.2.0</rabbitmq.version>
 
diff --git a/src/main/asciidoc/howto/howtoRun.adoc b/src/main/asciidoc/howto/howtoRun.adoc
index 8e6902b..ad2235d 100644
--- a/src/main/asciidoc/howto/howtoRun.adoc
+++ b/src/main/asciidoc/howto/howtoRun.adoc
@@ -30,7 +30,8 @@
 
 == Prerequisites
 
-* *To see this application running you have to run Portal application too.* The reason is the authentication, which happened in the Portal login phase.
+* *Portal (Auth n Auth) application has to be installed and configured.* The Portal is the entrypoint
+for this module and mandatory for its authentification.
 
 ==== Install and Configure Apache Tomcat
 Tomcat is an open-source Java Servlet Container and provides a "pure Java" HTTP web server environment in which Java code can run.
@@ -48,15 +49,13 @@
 
 ** Tomcat also needs the database driver to be placed in `<tomcat>/lib`. Find it in the project file `deploy/lib/`*postgresql-xxx.jar*.
 
-TIP: It's recommend to install a service for starting and stopping the Apache Tomcat.
+TIP: It is recommend to install a service for starting and stopping the Apache Tomcat.
 
 ==== Install and Configure a PostgreSQL database
 
-* A developing and administrating software for databases
+To work with a postgreSQL database pgAdmin is suggested
 
-** To work with a postgreSQL database is pgAdmin suggested
-
-1. Download and install pgAdmin (version 3 is used during developing process) from:
+1. Download and install pgAdmin (we suggest "Version 3" since it performs better than "Version 4") from:
         https://www.pgadmin.org/download/
 2. Create a database and adapt the `<tomcat>/conf/`*context.xml* file to your database (look at *Install and Configure Apache Tomcat*).
 
@@ -64,15 +63,15 @@
 
   /db/migrations/V0_XX__CREATE_PLGM_DB.sql
 
-TIP: It's recommend to install a service for starting and stopping the PostgreSQL database.
+TIP: It is recommend to install a service for starting and stopping the PostgreSQL database.
 
 TIP: For detailed instructions look at *http://87.128.212.254:8880/gridMeasuresADoc/architectureDocumentation.html[PlannedGridMeasures Architecture Documentation]*.
 
 == How to deploy and run the Backend
 To run the backend you need to have installed and configured Apache Tomcat (look at *Install and Configure Apache Tomcat*).
-The Backend exists of 3 Artifacts:
+The Backend consists of 3 Artifacts:
 
-** One Web Application Archive (war) file which is deployed on a Apache Tomcat
+** One Web Application Archive (war) file which is deployed on an Apache Tomcat
 *** MicsHomeService (*mics-home-service.war*)
 ** Two Java Archives (jar) started as Microservices
 *** MicsCentralService Backend-Microservice (*mics-central-service.jar*)
@@ -80,9 +79,11 @@
 
 
 === Deploy MicsHomeService (war-file) and start Apache Tomcat
-Tomcat needs the Web Application Archive (war) file. Either you got it through a successfully maven build or via zip from a Jenkins source.
+Tomcat needs the Web Application Archive (war) file. Get it from a successfully maven build or via zip from a Jenkins source.
 
-1. Copy the *mics-home-service.war* file from the `/target` folder of project "MicsHomeService" (zip or maven-build) in the `<tomcat>/webapps` file. If there is a folder named *mics-home-service*, delete it before.
+1. Copy the *mics-home-service.war* file from the `/target` folder of
+project "MicsHomeService" (zip or maven-build) in the `<tomcat>/webapps` file.
+If there is already a folder named *mics-home-service* you have to delete it.
 2. Navigate to your `apache-tomcat-8.5.24\bin` folder and start Tomcat by clicking on *startup.bat* (Windows) or executing *startup.sh* (Linux).
 * Tomcat's default port is *8080*.
 
@@ -117,14 +118,15 @@
 === Deploy and start Microservices
 
 ==== Microservices File Structures
-Doesn't matter if you got the artifacts as a zip file from a Jenkins source or as a maven built result (look at *howtoBuild*),
-the final structure and existence of the files/folders has to look like the following layout (see File/Folder Structure below) after you deployed it to your choosen
+No matter where the artifacts are from, a zip file from a Jenkins source or from a maven built
+result (look at *howtoBuild*), the final structure and existence of the files/folders has to look
+like the following layout (see File/Folder Structure below) after you deployed it to your chosen
 folder.
 
 a. If you got it as zip it should already has the correct structure after extraction. (ignore b.)
 b. If you have a maven built:
-* The needed jar-file is always in the `/target` folder of the related project folder after a successfully maven build (look at *howtoBuild*).
-The other needed files and folders are in the root folder `/` of the related project after a successfully maven build.
+* The needed jar-file is always in the `/target` folder of the related project folder after a successful maven build (look at *howtoBuild*).
+The other files and folders needed are in the root folder `/` of the related project after a successful maven build.
 
 ==== MicsCentralService Backend-Microservice
 
@@ -136,7 +138,7 @@
 ----
 ===== Configuring and starting the microservice
 The name of `*.yml` file can be changed but you have to use the same file as starting parameter when starting
-the microservice later on. In our example it's `serviceConfig_QA.yml`.
+the microservice later on. In our example it is `serviceConfig_QA.yml`.
 
 *serviceConfig_QA.yml*
 ----
@@ -216,23 +218,23 @@
 ----
 
 
-** "name" : Name of the service (must not be changed, since it hardwired in the client-applications!)
+** "name" : Name of the service (must not be changed, since it is hardwired in the client-applications!)
 ** "protocol" : HTTP or HTTPS
 ** "host" : IP of the server where the service can be reached
 ** "urlPath" : (must not be changed)
-** "portApp" : Port of the service. For example for `mics-central-service` its `9010` because thats what we
- configured in the related `serviceConfig_QA.yml` under `applicationConnectors` -> `type` and `port`.
+** "portApp" : Port of the service. For example for `mics-central-service` it is `9010` because that is
+what we configured in the related `serviceConfig_QA.yml` under `applicationConnectors` -> `type` and `port`.
 ** "portHealth": Port of the dropWizard-Health-Service.
 ** "description" : Description of the service
 
 The microservice can now be started via Java-Runtime in a console from your <yourChoosenFolder_MicsCentralService>:
 
-Remeber to use the *.yml file whaterver you renamed it to as parameter like below, in our example it's `serviceConfig_QA.yml`:
+Remember to use the *.yml file as parameter like below, in our example it is `serviceConfig_QA.yml`:
 ----
 java -jar mics-central-service.jar server serviceConfig_QA.yml
 ----
 
-TIP: It's recommend to install this java microservice execution as a service.
+TIP: It is recommend to install this execution as a service.
 
 ==== PlannedGridMeasures Backend-Microservice
 
@@ -246,7 +248,7 @@
 ----
 ===== Configuring and starting the microservice
 The name of `*.yml` file can be changed but you have to use the same file as starting parameter when starting
-the microservice later on. In our example it's `qserver.yml`.
+the microservice later on. In our example it is `qserver.yml`.
 
 *qserver.yml*
 ----
@@ -297,20 +299,21 @@
 
 
 The microservice can now be started via Java-Runtime in a console from your <yourChoosenFolder_PlannedGridMeasures>.
-Remeber to use the *.yml file whaterver you renamed it to as parameter like below, in our example it's `qserver.yml`:
+Remember to use the *.yml file as parameter like below, in our example it is `qserver.yml`:
 
 ----
 java -jar planned-grid-measures.jar server qserver.yml
 ----
 
-TIP: It's recommend to install this java microservice execution as a service.
+TIP: It is recommend to install this execution as a service.
 
 TIP: Look at the *http://87.128.212.254:8880/gridMeasuresADoc/architectureDocumentation.html[PlannedGridMeasures Architecture Documentation]* for informations about the services.
 
 == How to deploy and run the Frontend
-Go to `<tomcat>/webapps` folder, if there is a folder named *plannedGridMeasures*, delete it before.
-If you got it from a Jenkins source as zip extract the content to the `<tomcat>/webapps` folder.
-If you have a maven-build, copy the content of the `dist` folder in the project folder of "PlannedGridMeasures Frontend" to `<tomcat>/webapps/plannedGridMeasures`.
+Go to `<tomcat>/webapps` folder, if there is already a folder named *plannedGridMeasures* delete it.
+You can get the Frontend sources as a artifact (zip) from Jenkins or by a maven-build.
+If you get the artifact from Jenkins as zip extract the content to the `<tomcat>/webapps` folder.
+If you do a maven-build, copy the content of the `dist` folder in the project folder of "PlannedGridMeasures Frontend" to `<tomcat>/webapps/plannedGridMeasures`.
 
 Nevertheless guarantee the following file/folder structure after extraction/copying:
 ----
