diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..1b90612289488c3663c72a5fdb4d6828298163ec
--- /dev/null
+++ b/README.md
@@ -0,0 +1,122 @@
+cim.py
+======
+cim.py is a non-linear eigenvalue solver using the contour integral method
+proposed by W.-J. Beyn coupled with a [GetDP](http://getdp.info) formulation.
+
+Reference paper
+---------------
+[W.-J., Beyn, "An integral method for solving nonlinear eigenvalue problems", 
+Linear Algebra and its Applications, 2012,436.](
+https://doi.org/10.1016/j.laa.2011.03.030)
+
+Usage
+-----
+
+    cim.py pro mesh resolution post origin radius
+
+with:
+
+    pro               [GetDP](http://getdp.info) .pro file
+    mesh              [Gmsh](http://gmsh.info) .msh file
+    resolution        resolution from .pro file
+    origin            circular contour origin (complex)
+    radius            circular contour radius
+
+Additional optional argument are available. Please run:
+
+    cim.py -h
+
+for more information.
+
+Driving [GetDP](http://getdp.info) from cim.py
+----------------------------------------------
+cim.py and [GetDP](http://getdp.info) are exchanging the following [ONELAB](
+http://onelab.info) variables:
+
+    angularFreqRe  the real part of the frequency
+    angularFreqIm  the imaginary part of the frequency
+    x()            the solution vector of the linear system
+    b()            the right hand side (RHS) of the linear system
+    imposeRHS      flag signalling if an other RHS should be imposed
+    doPostpro      flag signalling if only a post-processing should be done
+    doApply        flag signalling if x() should be applied to the linear system
+    fileName       name of the post-processing file
+
+More information can be found in [bin/solver.py](bin/solver.py). Furthermore, 
+examples are provided in [example/maxwell\_sibc/](example/maxwell_sibc/) and 
+[example/maxwell\_linear/](example/maxwell\_linear/).
+
+Dependencies
+------------
+cim.py is a [Python 2.7](https://www.python.org/download/releases/2.7/) script. 
+It relies on the following modules:
+
+    argparse
+    numpy
+    getdp
+
+The `getdp` module can be obtained by compiling [GetDP](http://getdp.info).
+Among other (and possibly optional) dependencies, [GetDP](http://getdp.info)
+relies on [PETSc](https://www.mcs.anl.gov/petsc).
+The shell script dependencies.sh should handle this automatically if you run:
+
+    ./dependencies.sh
+
+You will need `wget`, `tar`, `gcc`, `g++` and `gfortran` for this script to work.
+Don't forget to update your `PATH`, `PYTHONPATH` and `LD_LIBRARY_PATH` as 
+instructed.
+
+If you want to handle the [PETSc](https://www.mcs.anl.gov/petsc) and 
+[GetDP](http://getdp.info) libraries yourself, here are the options you will 
+need. The [PETSc](https://www.mcs.anl.gov/petsc) library should be compiled with
+the following features:
+    
+    --with-clanguage=cxx
+    --with-shared-libraries=1
+    --with-x=0
+    --with-scalar-type=complex
+    --with-mumps-serial=yes
+    --with-mpi=0
+    --with-mpiuni-fortran-binding=0
+    --download-mumps=yes
+
+In other words, [PETSc](https://www.mcs.anl.gov/petsc) should be compiled 
+without MPI, with complex algebra and with a sequential version of [MUMPS](
+http://mumps-solver.org/). [GetDP](http://getdp.info) can then be compiled 
+with the following options:
+
+    ENABLE_BLAS_LAPACK:   ON
+    ENABLE_BUILD_DYNAMIC: ON
+    ENABLE_BUILD_SHARED:  ON
+    ENABLE_KERNEL:        ON
+    ENABLE_PETSC:         ON
+    ENABLE_WRAP_PYTHON:   ON
+
+If everything went fine, you should end up with the [GetDP](http://getdp.info) 
+Python module:
+    
+    getdp.py
+
+Finally, Don't forget to update your `PATH`, `PYTHONPATH` and `LD_LIBRARY_PATH`.
+
+Enjoy!
+
+License
+-------
+Copyright (C) 2017 N. Marsic, F. Wolf, S. Schoeps and H. De Gersem,
+Institut fuer Theorie Elektromagnetischer Felder (TEMF),
+Technische Universitaet Darmstadt.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
diff --git a/README.txt b/README.txt
deleted file mode 100644
index 30f76814c94050452ad922931e3096939f1f87de..0000000000000000000000000000000000000000
--- a/README.txt
+++ /dev/null
@@ -1,98 +0,0 @@
-cim.py is a non-linear eigenvalue solver
-using the contour integral method proposed by W.-J. Beyn
-coupled with a GetDP formulation.
-
-Copyright (C) 2017 N. Marsic, F. Wolf, S. Schoeps and H. De Gersem,
-Institut fuer Theorie Elektromagnetischer Felder (TEMF),
-Technische Universitaet Darmstadt.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Reference paper:
-----------------
-W.-J., Beyn, "An integral method for solving nonlinear eigenvalue problems",
-Linear Algebra and its Applications, 2012, 436.
-
-Usage:
-------
-cim.py pro mesh resolution post origin radius
-
-with:
-  pro               GetDP .pro file
-  mesh              Gmsh .msh file
-  resolution        resolution from .pro file
-  origin            circular contour origin (complex)
-  radius            circular contour radius
-
-Additional optional argument are available.
-Please run:
-  cim.py -h
-for more information.
-
-Driving GetDP from cim.py
--------------------------
-cim.py and GetDP are exchanging the following ONELAB variables:
-  angularFreqRe - the real part of the frequency
-  angularFreqIm - the imaginary part of the frequency
-  x()           - the solution vector of the linear system
-  b()           - the right hand side (RHS) of the linear system
-  imposeRHS     - flag signalling if an other RHS should be imposed
-  doPostpro     - flag signalling if only a post-processing should be done
-  doApply       - flag signalling if x() should be applied to the linear system
-  fileName      - name of the post-processing file
-More information can be found in bin/solver.py. Furthermore, examples are
-provided in example/maxwell_sibc/ and example/maxwell_linear/.
-
-Dependencies
-------------
-cim.py is a Python 2.7 script. It relies on the following modules:
-  argparse
-  numpy
-  getdp
-
-The getdp module can be obtained by compiling GetDP:
-  http://getdp.info
-Among other (and possibly optional) dependencies, GetDP relies on PETSc:
-  https://www.mcs.anl.gov/petsc
-The shell script dependencies.sh should handle this automatically if you run:
-  ./dependencies.sh
-You will need wget, tar, gcc, g++ and gfortran for this script to work.
-Don't forget to update your PATH, PYTHONPATH and LD_LIBRARY_PATH as instructed.
-
-If you want to handle the PETSc and GetDP libraries yourself, here are the
-options you will need. The PETSc library should be compiled with the following
-features:
-  --with-clanguage=cxx
-  --with-shared-libraries=1
-  --with-x=0
-  --with-scalar-type=complex
-  --with-mumps-serial=yes
-  --with-mpi=0
-  --with-mpiuni-fortran-binding=0
-  --download-mumps=yes
-In other words, PETSc should be compiled without MPI, with complex algebra and
-with a sequential version of MUMPS. GetDP can then be compiled with the
-following options:
-  ENABLE_BLAS_LAPACK:   ON
-  ENABLE_BUILD_DYNAMIC: ON
-  ENABLE_BUILD_SHARED:  ON
-  ENABLE_KERNEL:        ON
-  ENABLE_PETSC:         ON
-  ENABLE_WRAP_PYTHON:   ON
-If everything went fine, you should end up with the GetDP Python module:
-  getdp.py
-Finally, Don't forget to update your PATH, PYTHONPATH and LD_LIBRARY_PATH.
-
-Enjoy!