diff --git a/README_new.md b/README_new.md
index 89cc34cba214f06688765650d077b67ee6e1d93f..c634055fa0b33e4ee2dc38a4fc6c8132fc3d866f 100644
--- a/README_new.md
+++ b/README_new.md
@@ -5,7 +5,7 @@ load balancing into particle based simulation codes. The library is
 developed in the Simulation Laboratory Molecular Systems of the Jülich
 Supercomputing Centre at Forschungszentrum Jülich. 
 
-It includes several load balancing schemes. The following list gives and
+It includes several load balancing schemes. The following list gives an
 overview about these schemes and short explanations.
 
  - **Tensor product**: The work on all processes is reduced over the
@@ -32,7 +32,7 @@ overview about these schemes and short explanations.
    than a vertex, i.e. a point defining a Voronoi cell, which describes
    the domain. Consequently, the number of neighbors is not a conserved
    quantity, i.e. the topology may change over time. ALL uses the Voro++
-   library published by the Lawrence Berkeley Laboratory for the
+   library published by the Lawrence Berkeley National Laboratory for the
    generation of the Voronoi mesh.
  - **Histogram based staggered grid**: Resulting in the same grid, as
    the staggered grid scheme, this scheme uses the cumulative work
@@ -128,8 +128,8 @@ Simple (and not so simple) examples are available in the `/examples` sub
 directory. The simple examples are also documented at length.
 
 Errors are treated as exceptions that are thrown of a (sub) class of
-`ALL::CustomException`. Likely candidates that may throw are `balance`,
-`setup`, `printVTKoutlines`.
+`ALL::CustomException`. Likely candidates that may throw exceptions
+ are `balance`,`setup`, `printVTKoutlines`.
 
 ### ALL object
 The ALL object can be constructed with
@@ -144,7 +144,7 @@ work as `W`, which are usually float or double. The load balancing
 method must be one of `ALL::LB_t::TENSOR`, `...STAGGERED`,
 `...FORCEBASED`, `...VORONOI`, `...HISTOGRAM`. Where the Voronoi
 method must be enabled at compile time. There is also a second form
-where the initial domain vertices are given:
+where the initial domain vertices are already provided:
 
     ALL::ALL<T,W> (
                    const ALL::LB_t method,
@@ -160,12 +160,12 @@ The domain boundaries are given and retrieved as a vector of
     ALL::Point<T> ( const int dimension, const T *values )
     ALL::Point<T> ( const std::vector<T> &values )
 
-and accessed via the `[]` operator like a `std::vector`
+and its elements can be accessed through the `[]` operator like a `std::vector`
 
 ### Set up
 A few additional parameters must be set before the domains can be
-balanced. Exactly which are dependent on the method used, but in general
-the following are necessary
+balanced. Which exactly need to be set, is dependent on the method used, 
+but in general the following are necessary
 
     void ALL::ALL<T,W>::setVertices ( std::vector<ALL::Point<T>> &vertices )
     void ALL::ALL<T,W>::setCommunicator ( MPI_Comm comm )
@@ -181,12 +181,12 @@ grid parameters must also be set beforehand (!) using
 with the location of the current process and number of processes in each
 direction.
 
-To trace the current domain better an integer tag can be given, that is
+To trace the current domain better an integer tag can be provided, which is
 used in the domain output, with
 
     void ALL::ALL<T,W>::setProcTag ( int tag )
 
-and the minimal domain size in each direction can be set using
+and an observed minimal domain size in each direction can be set using
 
     void ALL::ALL<T,W>::setMinDomainSize (
             const std::vector<T> &minSize )
@@ -195,7 +195,7 @@ Once these parameters are set call
 
     void ALL::ALL<T,W>::setup()
 
-so internal set up routines can run.
+so internal set up routines are run.
 
 ### Balancing
 To create the new domain vertices make sure the current vertices are set
@@ -203,7 +203,7 @@ using `setVertices` and the work is set using `setWork` then call
 
     void ALL::ALL<T,W>::balance()
 
-and then retrieve the new vertices using
+and then the new vertices can be retrieved by using
 
     std::vector<ALL::Point<T>> &ALL::ALL<T,W>::getVertices ()
 
@@ -271,7 +271,7 @@ Required number of vertices:
 Advantages:
  - topology of the system is maintained (orthogonal domains, neighbor
    relations)
- - no update for the neighbor relations need to be made in the calling
+ - no update for the neighbor relations is required in the calling
    code
  - if a code was able to deal with orthogonal domains, only small
    changes are expected to include this strategy