diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 357766203316f826fd35f8203d24da1644921421..5b2fc1a69e6dd875531b3cf5ea5406bb068056e6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -106,7 +106,7 @@ test_project_1stage_legacy_api_gnu:
   tags:
     - project_test
   script:
-    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpif90 FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                 SCALAPACK_LDFLAGS=\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                 SCALAPACK_FCFLAGS=\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                 --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                 -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_1stage_legacy_api -e test_real                 -C " FC=mpif90 PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                  --enable-option-checking=fatal || { cat config.log; exit 1; } " 
+    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpif90 FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                     SCALAPACK_LDFLAGS=\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                     SCALAPACK_FCFLAGS=\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                     --enable-option-checking=fatal  --enable-legacy-interface  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                     -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_1stage_legacy_api -e test_real                     -C " FC=mpif90 PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                      --enable-option-checking=fatal || { cat config.log; exit 1; } " 
 
 
 
@@ -115,7 +115,7 @@ test_project_1stage_gnu:
   tags:
     - project_test
   script:
-    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpif90 FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                 SCALAPACK_LDFLAGS=\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                 SCALAPACK_FCFLAGS=\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                 --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                 -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_1stage -e test_real                 -C " FC=mpif90 PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                  --enable-option-checking=fatal || { cat config.log; exit 1; } " 
+    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpif90 FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                     SCALAPACK_LDFLAGS=\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                     SCALAPACK_FCFLAGS=\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                     --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                     -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_1stage -e test_real                     -C " FC=mpif90 PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                      --enable-option-checking=fatal || { cat config.log; exit 1; } " 
 
 
 
@@ -124,7 +124,7 @@ test_project_2stage_legacy_api_gnu:
   tags:
     - project_test
   script:
-    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpif90 FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                 SCALAPACK_LDFLAGS=\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                 SCALAPACK_FCFLAGS=\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                 --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                 -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_2stage_legacy_api -e test_real2                 -C " FC=mpif90 PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                  --enable-option-checking=fatal || { cat config.log; exit 1; } " 
+    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpif90 FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                     SCALAPACK_LDFLAGS=\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                     SCALAPACK_FCFLAGS=\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                     --enable-option-checking=fatal  --enable-legacy-interface  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                     -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_2stage_legacy_api -e test_real2                     -C " FC=mpif90 PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                      --enable-option-checking=fatal || { cat config.log; exit 1; } " 
 
 
 
@@ -133,7 +133,7 @@ test_project_2stage_gnu:
   tags:
     - project_test
   script:
-    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpif90 FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                 SCALAPACK_LDFLAGS=\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                 SCALAPACK_FCFLAGS=\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                 --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                 -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_2stage -e test_real2                 -C " FC=mpif90 PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                  --enable-option-checking=fatal || { cat config.log; exit 1; } " 
+    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpif90 FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                     SCALAPACK_LDFLAGS=\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                     SCALAPACK_FCFLAGS=\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                     --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                     -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_2stage -e test_real2                     -C " FC=mpif90 PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                      --enable-option-checking=fatal || { cat config.log; exit 1; } " 
 
 
 
@@ -142,7 +142,7 @@ test_project_1stage_legacy_api_intel:
   tags:
     - project_test
   script:
-    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpiifort FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                 SCALAPACK_LDFLAGS=\"$MKL_INTEL_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                 SCALAPACK_FCFLAGS=\"$MKL_INTEL_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                 --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                 -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_1stage_legacy_api -e test_real                 -C " FC=mpiifort PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                   --enable-option-checking=fatal || { cat config.log; exit 1; } " 
+    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpiifort FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                     SCALAPACK_LDFLAGS=\"$MKL_INTEL_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                     SCALAPACK_FCFLAGS=\"$MKL_INTEL_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                     --enable-option-checking=fatal  --enable-legacy-interface --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                     -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_1stage_legacy_api -e test_real                     -C " FC=mpiifort PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                       --enable-option-checking=fatal || { cat config.log; exit 1; } " 
 
 
 
@@ -151,7 +151,7 @@ test_project_1stage_intel:
   tags:
     - project_test
   script:
-    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpiifort FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                 SCALAPACK_LDFLAGS=\"$MKL_INTEL_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                 SCALAPACK_FCFLAGS=\"$MKL_INTEL_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                 --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                 -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_1stage -e test_real                 -C " FC=mpiifort PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                   --enable-option-checking=fatal || { cat config.log; exit 1; } " 
+    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpiifort FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                     SCALAPACK_LDFLAGS=\"$MKL_INTEL_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                     SCALAPACK_FCFLAGS=\"$MKL_INTEL_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                     --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                     -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_1stage -e test_real                     -C " FC=mpiifort PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                       --enable-option-checking=fatal || { cat config.log; exit 1; } " 
 
 
 
@@ -160,7 +160,7 @@ test_project_2stage_legacy_api_intel:
   tags:
     - project_test
   script:
-    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpiifort FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                 SCALAPACK_LDFLAGS=\"$MKL_INTEL_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                 SCALAPACK_FCFLAGS=\"$MKL_INTEL_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                 --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                 -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_2stage_legacy_api -e test_real2                 -C " FC=mpiifort PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                   --enable-option-checking=fatal || { cat config.log; exit 1; } " 
+    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpiifort FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                     SCALAPACK_LDFLAGS=\"$MKL_INTEL_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                     SCALAPACK_FCFLAGS=\"$MKL_INTEL_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                     --enable-option-checking=fatal  --enable-legacy-interface --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                     -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_2stage_legacy_api -e test_real2                     -C " FC=mpiifort PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                       --enable-option-checking=fatal || { cat config.log; exit 1; } " 
 
 
 
@@ -169,7 +169,7 @@ test_project_2stage_intel:
   tags:
     - project_test
   script:
-    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpiifort FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                 SCALAPACK_LDFLAGS=\"$MKL_INTEL_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                 SCALAPACK_FCFLAGS=\"$MKL_INTEL_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                 --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                 -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_2stage -e test_real2                 -C " FC=mpiifort PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                   --enable-option-checking=fatal || { cat config.log; exit 1; } " 
+    - ./ci_test_scripts/run_project_tests.sh -c " FC=mpiifort FCFLAGS=\"-march=native \" CFLAGS=\"-march=native\"                     SCALAPACK_LDFLAGS=\"$MKL_INTEL_SCALAPACK_LDFLAGS_MPI_NO_OMP\"                     SCALAPACK_FCFLAGS=\"$MKL_INTEL_SCALAPACK_FCFLAGS_MPI_NO_OMP\"                     --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } "                     -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_2stage -e test_real2                     -C " FC=mpiifort PKG_CONFIG_PATH=../../installdest/lib/pkgconfig                       --enable-option-checking=fatal || { cat config.log; exit 1; } " 
 
 
 
diff --git a/Changelog b/Changelog
index 91ea73ad423ba10acd7ae28e792b680289c2cc0e..50c3121b8f8431a04597b88c045c9074f26836d6 100644
--- a/Changelog
+++ b/Changelog
@@ -11,7 +11,16 @@ Changelog for ELPA 2019.05.001.rc1
 - allow measurements with the likwid tool
 - users can define the default-kernel at build time
 - ELPA versioning number is provided in the C header files
-
+- as announced a year ago, the following deprecated routines have been finally
+removed; see DEPRECATED_FEATURES for the replacement routines , which have
+been introduced a year ago. Removed routines:
+  -> mult_at_b_real
+  -> mult_ah_b_complex
+  -> invert_trm_real
+  -> invert_trm_complex
+  -> cholesky_real
+  -> cholesky_complex
+  -> solve_tridi
 
 Changelog for ELPA 2018.11.001
 
diff --git a/DEPRECATED_FEATURES.md b/DEPRECATED_FEATURES.md
index f1f5ca71408c1f1db453af7d3408016992f53974..db7a3776d8aea2f9757f8fcb65ff31469a8947f8 100644
--- a/DEPRECATED_FEATURES.md
+++ b/DEPRECATED_FEATURES.md
@@ -26,16 +26,17 @@ have been replaced by new names. The old interfaces will be removed
 | get_elpa_communicators   | elpa_get_communicators                | (removed since 2017.11.001)   | 
 | solve_evp_real           | elpa_solve_evp_real_1stage_double     | (removed since 2017.11.001)   | 
 | solve_evp_complex        | elpa_solve_evp_complex_1stage_double  | (removed since 2017.11.001)   | 
-| solve_evp_real_1stage    | elpa_solve_evp_real_1stage_double     | will be removed 2018.11.001   | 
-| solve_evp_complex_1stage | elpa_solve_evp_complex_1stage_double  | will be removed 2018.11.001   | 
-| solve_evp_real_2stage    | elpa_solve_evp_real_2stage_double     | will be removed 2018.11.001   | 
-| solve_evp_complex_2stage | elpa_solve_evp_complex_2stage_double  | will be removed 2018.11.001   | 
-| mult_at_b_real           | elpa_mult_at_b_real_double            | will be removed 2018.11.001   | 
-| mult_ah_b_complex        | elpa_mult_ah_b_complex_double         | will be removed 2018.11.001   | 
-| invert_trm_real          | elpa_invert_trm_real_double           | will be removed 2018.11.001   | 
-| invert_trm_complex       | elpa_invert_trm_complex_double        | will be removed 2018.11.001   | 
-| cholesky_real            | elpa_cholesky_real_double             | will be removed 2018.11.001   | 
-| cholesky_complex         | elpa_cholesky_complex_double          | will be removed 2018.11.001   | 
+| solve_evp_real_1stage    | elpa_solve_evp_real_1stage_double     | (removed since 2019.05.001)   | 
+| solve_evp_complex_1stage | elpa_solve_evp_complex_1stage_double  | (removed since 2019.05.001)   | 
+| solve_evp_real_2stage    | elpa_solve_evp_real_2stage_double     | (removed since 2019.05.001)   | 
+| solve_evp_complex_2stage | elpa_solve_evp_complex_2stage_double  | (removed since 2019.05.001)   | 
+| mult_at_b_real           | elpa_mult_at_b_real_double            | (removed since 2019.05.001)   | 
+| mult_ah_b_complex        | elpa_mult_ah_b_complex_double         | (removed since 2019.05.001)   | 
+| invert_trm_real          | elpa_invert_trm_real_double           | (removed since 2019.05.001)   | 
+| invert_trm_complex       | elpa_invert_trm_complex_double        | (removed since 2019.05.001)   | 
+| cholesky_real            | elpa_cholesky_real_double             | (removed since 2019.05.001)   | 
+| cholesky_complex         | elpa_cholesky_complex_double          | (removed since 2019.05.001)   | 
+| solve_tridi              | elpa_solve_tridi_double               | (removed since 2019.05.001)   |
 
 For all symbols also the corresponding "_single" routines are available
 
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index 50f950bf224e95e02deffcff368d9157eb4af770..f41786c9bb75bc3c0a7d89b3ffea03ecada3acb2 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -8,6 +8,7 @@ For detailed information about changes since release ELPA 2018.11 please have a
 - ELPA VERSION number is exported to the C-header
 - C functions can have an optional error argument, if compiler supports this
    => ABI and API change
+- as anounced, removal of deprecated routines
 
 ABI change
 ---------------------
@@ -17,11 +18,11 @@ Since release 2018.10.001 the ABI has changed.
 Any incompatibilities to previous version?
 ---------------------------------------
 For Fortran:
-Break of ABI compatibility, since all functions obtained an optional, integer
-argument of the error code.
+Break of ABI compatibility, since all routines announced as deperecated have been removed
 
 For C:
 Break of ABI and API compatibility, since all functions obtained a required int* argument of the error code.
 
 
 
+
diff --git a/ci_test_scripts/generate_gitlab_ci_tests.py b/ci_test_scripts/generate_gitlab_ci_tests.py
index 799db44602eb6535a12708134e0f02c818749841..9b669036fec9da34a8f037660bbf4191f482e933 100755
--- a/ci_test_scripts/generate_gitlab_ci_tests.py
+++ b/ci_test_scripts/generate_gitlab_ci_tests.py
@@ -451,21 +451,40 @@ for comp, s, a in product(
         projectBinary="test_real2"
 
     if (comp == "intel"):
-        print("    - ./ci_test_scripts/run_project_tests.sh -c \" FC=mpiifort FCFLAGS=\\\"-march=native \\\" CFLAGS=\\\"-march=native\\\" \
-                SCALAPACK_LDFLAGS=\\\"$MKL_INTEL_SCALAPACK_LDFLAGS_MPI_NO_OMP\\\" \
-                SCALAPACK_FCFLAGS=\\\"$MKL_INTEL_SCALAPACK_FCFLAGS_MPI_NO_OMP\\\" \
-                --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } \" \
-                -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_"+stage[s]+api[a]+" -e "+projectBinary+" \
-                -C \" FC=mpiifort PKG_CONFIG_PATH=../../installdest/lib/pkgconfig  \
-                 --enable-option-checking=fatal || { cat config.log; exit 1; } \" ")
+        if (a == "new_api"):
+            print("    - ./ci_test_scripts/run_project_tests.sh -c \" FC=mpiifort FCFLAGS=\\\"-march=native \\\" CFLAGS=\\\"-march=native\\\" \
+                    SCALAPACK_LDFLAGS=\\\"$MKL_INTEL_SCALAPACK_LDFLAGS_MPI_NO_OMP\\\" \
+                    SCALAPACK_FCFLAGS=\\\"$MKL_INTEL_SCALAPACK_FCFLAGS_MPI_NO_OMP\\\" \
+                    --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } \" \
+                    -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_"+stage[s]+api[a]+" -e "+projectBinary+" \
+                    -C \" FC=mpiifort PKG_CONFIG_PATH=../../installdest/lib/pkgconfig  \
+                     --enable-option-checking=fatal || { cat config.log; exit 1; } \" ")
+        if (a == "legacy_api"):
+            print("    - ./ci_test_scripts/run_project_tests.sh -c \" FC=mpiifort FCFLAGS=\\\"-march=native \\\" CFLAGS=\\\"-march=native\\\" \
+                    SCALAPACK_LDFLAGS=\\\"$MKL_INTEL_SCALAPACK_LDFLAGS_MPI_NO_OMP\\\" \
+                    SCALAPACK_FCFLAGS=\\\"$MKL_INTEL_SCALAPACK_FCFLAGS_MPI_NO_OMP\\\" \
+                    --enable-option-checking=fatal  --enable-legacy-interface --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } \" \
+                    -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_"+stage[s]+api[a]+" -e "+projectBinary+" \
+                    -C \" FC=mpiifort PKG_CONFIG_PATH=../../installdest/lib/pkgconfig  \
+                     --enable-option-checking=fatal || { cat config.log; exit 1; } \" ")
+
     if (comp == "gnu"):
-        print("    - ./ci_test_scripts/run_project_tests.sh -c \" FC=mpif90 FCFLAGS=\\\"-march=native \\\" CFLAGS=\\\"-march=native\\\" \
-                SCALAPACK_LDFLAGS=\\\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_MPI_NO_OMP\\\" \
-                SCALAPACK_FCFLAGS=\\\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_MPI_NO_OMP\\\" \
-                --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } \" \
-                -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_"+stage[s]+api[a]+" -e "+projectBinary+" \
-                -C \" FC=mpif90 PKG_CONFIG_PATH=../../installdest/lib/pkgconfig \
-                 --enable-option-checking=fatal || { cat config.log; exit 1; } \" ")
+        if (a == "new_api"):
+            print("    - ./ci_test_scripts/run_project_tests.sh -c \" FC=mpif90 FCFLAGS=\\\"-march=native \\\" CFLAGS=\\\"-march=native\\\" \
+                    SCALAPACK_LDFLAGS=\\\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_MPI_NO_OMP\\\" \
+                    SCALAPACK_FCFLAGS=\\\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_MPI_NO_OMP\\\" \
+                    --enable-option-checking=fatal  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } \" \
+                    -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_"+stage[s]+api[a]+" -e "+projectBinary+" \
+                    -C \" FC=mpif90 PKG_CONFIG_PATH=../../installdest/lib/pkgconfig \
+                     --enable-option-checking=fatal || { cat config.log; exit 1; } \" ")
+        if (a == "legacy_api"):
+            print("    - ./ci_test_scripts/run_project_tests.sh -c \" FC=mpif90 FCFLAGS=\\\"-march=native \\\" CFLAGS=\\\"-march=native\\\" \
+                    SCALAPACK_LDFLAGS=\\\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_MPI_NO_OMP\\\" \
+                    SCALAPACK_FCFLAGS=\\\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_MPI_NO_OMP\\\" \
+                    --enable-option-checking=fatal  --enable-legacy-interface  --disable-avx2 --prefix=$PWD/installdest --disable-avx2 || { cat config.log; exit 1; } \" \
+                    -t 2 -m 150 -n 50 -b 16 -S $SLURM -p test_project_"+stage[s]+api[a]+" -e "+projectBinary+" \
+                    -C \" FC=mpif90 PKG_CONFIG_PATH=../../installdest/lib/pkgconfig \
+                     --enable-option-checking=fatal || { cat config.log; exit 1; } \" ")
     print("\n\n")
 
 print("#The tests follow here")
@@ -529,6 +548,7 @@ address_sanitize_flag = {
         "no-address-sanitize" : "no-address-sanitize",
 }
 
+
 #matrix_size = {
 #        "small"   : "150",
 #        "medium"  : "1500",
diff --git a/configure.ac b/configure.ac
index 5cd67ef65398ef9f02a245d023d84673da82456a..6e87de1b12bdfa15fd15162233ff2bfafa34eb90 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,7 +27,7 @@ AM_SILENT_RULES([yes])
 #    by the current interface, as they are ABI compatible (e.g. only new symbols
 #    were added by the new interface)
 #
-AC_SUBST([ELPA_SO_VERSION], [13:0:0])
+AC_SUBST([ELPA_SO_VERSION], [14:0:0])
 
 # AC_DEFINE_SUBST(NAME, VALUE, DESCRIPTION)
 # -----------------------------------------
diff --git a/src/elpa1/legacy_interface/elpa1.F90 b/src/elpa1/legacy_interface/elpa1.F90
index 1f294b2a07c22bae4da01f6f11e10bd699028d02..4b7a55fc141f38a1d569af7bb9922aefbecae143 100644
--- a/src/elpa1/legacy_interface/elpa1.F90
+++ b/src/elpa1/legacy_interface/elpa1.F90
@@ -96,7 +96,6 @@ module elpa1
 
   public :: elpa_solve_evp_real_1stage_double    !< Driver routine for real double-precision 1-stage eigenvalue problem
 
-  public :: solve_evp_real_1stage                !< Driver routine for real double-precision eigenvalue problem
   public :: solve_evp_real_1stage_double         !< Driver routine for real double-precision eigenvalue problem
 #ifdef WANT_SINGLE_PRECISION_REAL
   public :: solve_evp_real_1stage_single         !< Driver routine for real single-precision eigenvalue problem
@@ -104,7 +103,6 @@ module elpa1
 
 #endif
   public :: elpa_solve_evp_complex_1stage_double !< Driver routine for complex 1-stage eigenvalue problem
-  public :: solve_evp_complex_1stage             !< Driver routine for complex double-precision eigenvalue problem
   public :: solve_evp_complex_1stage_double      !< Driver routine for complex double-precision eigenvalue problem
 #ifdef WANT_SINGLE_PRECISION_COMPLEX
   public :: solve_evp_complex_1stage_single      !< Driver routine for complex single-precision eigenvalue problem
@@ -114,22 +112,16 @@ module elpa1
   ! imported from elpa1_auxilliary
 
   public :: elpa_mult_at_b_real_double       !< Multiply double-precision real matrices A**T * B
-  public :: mult_at_b_real                   !< old, deprecated interface to multiply double-precision real matrices A**T * B  DO NOT USE
 
   public :: elpa_mult_ah_b_complex_double    !< Multiply double-precision complex matrices A**H * B
-  public :: mult_ah_b_complex                !< old, deprecated interface to multiply double-preicion complex matrices A**H * B  DO NOT USE
 
   public :: elpa_invert_trm_real_double      !< Invert double-precision real triangular matrix
-  public :: invert_trm_real                  !< old, deprecated interface to invert double-precision real triangular matrix  DO NOT USE
 
   public :: elpa_invert_trm_complex_double   !< Invert double-precision complex triangular matrix
-  public :: invert_trm_complex               !< old, deprecated interface to invert double-precision complex triangular matrix  DO NOT USE
 
   public :: elpa_cholesky_real_double        !< Cholesky factorization of a double-precision real matrix
-  public :: cholesky_real                    !< old, deprecated interface to do Cholesky factorization of a double-precision real matrix  DO NOT USE
 
   public :: elpa_cholesky_complex_double     !< Cholesky factorization of a double-precision complex matrix
-  public :: cholesky_complex                 !< old, deprecated interface to do Cholesky factorization of a double-precision complex matrix  DO NOT USE
 
   public :: elpa_solve_tridi_double          !< Solve a double-precision tridiagonal eigensystem with divide and conquer method
 
@@ -155,10 +147,6 @@ module elpa1
   logical, public :: elpa_print_times = .false. !< Set elpa_print_times to .true. for explicit timing outputs
 
 
-  interface solve_evp_real_1stage
-    module procedure elpa_solve_evp_real_1stage_double
-  end interface
-
 !> \brief elpa_solve_evp_real_1stage_double: Fortran function to solve the real eigenvalue problem with 1-stage solver. This is called by "elpa_solve_evp_real"
 !>
 !  Parameters
@@ -200,46 +188,6 @@ module elpa1
     module procedure elpa_solve_evp_real_1stage_double
   end interface
 
-
-!> \brief solve_evp_complex_1stage: old, deprecated Fortran function to solve the complex eigenvalue problem with 1-stage solver. will be deleted at some point. Better use "solve_evp_complex_1stage" or "elpa_solve_evp_complex"
-!>
-!> \details
-!> The interface and variable definition is the same as in "elpa_solve_evp_complex_1stage_double"
-!  Parameters
-!
-!> \param  na                   Order of matrix a
-!>
-!> \param  nev                  Number of eigenvalues needed.
-!>                              The smallest nev eigenvalues/eigenvectors are calculated.
-!>
-!> \param  a(lda,matrixCols)    Distributed matrix for which eigenvalues are to be computed.
-!>                              Distribution is like in Scalapack.
-!>                              The full matrix must be set (not only one half like in scalapack).
-!>                              Destroyed on exit (upper and lower half).
-!>
-!>  \param lda                  Leading dimension of a
-!>
-!>  \param ev(na)               On output: eigenvalues of a, every processor gets the complete set
-!>
-!>  \param q(ldq,matrixCols)    On output: Eigenvectors of a
-!>                              Distribution is like in Scalapack.
-!>                              Must be always dimensioned to the full size (corresponding to (na,na))
-!>                              even if only a part of the eigenvalues is needed.
-!>
-!>  \param ldq                  Leading dimension of q
-!>
-!>  \param nblk                 blocksize of cyclic distribution, must be the same in both directions!
-!>
-!>  \param matrixCols           distributed number of matrix columns
-!>
-!>  \param mpi_comm_rows        MPI-Communicator for rows
-!>  \param mpi_comm_cols        MPI-Communicator for columns
-!>
-!>  \result                     success
-  interface solve_evp_complex_1stage
-    module procedure elpa_solve_evp_complex_1stage_double
-  end interface
-
 !> \brief solve_evp_complex_1stage_double: Fortran function to solve the complex eigenvalue problem with 1-stage solver. This is called by "elpa_solve_evp_complex"
 !>
 !  Parameters
diff --git a/src/elpa1/legacy_interface/elpa1_auxiliary.F90 b/src/elpa1/legacy_interface/elpa1_auxiliary.F90
index fa01451e04282d9e0582182586cd63adda871e0a..f2929910c1c06db44de21644560cd29137842575 100644
--- a/src/elpa1/legacy_interface/elpa1_auxiliary.F90
+++ b/src/elpa1/legacy_interface/elpa1_auxiliary.F90
@@ -60,25 +60,18 @@ module ELPA1_AUXILIARY
   implicit none
 
   public :: elpa_mult_at_b_real_double      !< Multiply double-precision real matrices A**T * B
-  public :: mult_at_b_real                  !< Old, deprecated interface to multiply double-precision real matrices A**T * B. DO NOT USE
 
   public :: elpa_mult_ah_b_complex_double   !< Multiply double-precision complex matrices A**H * B
-  public :: mult_ah_b_complex               !< Old, deprecated interface to multiply double-precision complex matrices A**H * B. DO NOT USE
 
   public :: elpa_invert_trm_real_double     !< Invert double-precision real triangular matrix
-  public :: invert_trm_real                 !< Old, deprecated interface for inversion of double-precision real triangular matrix. DO NOT USE
 
   public :: elpa_invert_trm_complex_double  !< Invert double-precision complex triangular matrix
-  public :: invert_trm_complex              !< Old, deprecated interface to invert double-precision complex triangular matrix. DO NOT USE
 
   public :: elpa_cholesky_real_double       !< Cholesky factorization of a double-precision real matrix
-  public :: cholesky_real                   !< Old, deprecated name for Cholesky factorization of a double-precision real matrix. DO NOT USE
 
   public :: elpa_cholesky_complex_double    !< Cholesky factorization of a double-precision complex matrix
-  public :: cholesky_complex                !< Old, deprecated interface for a Cholesky factorization of a double-precision complex matrix. DO NOT USE
 
   public :: elpa_solve_tridi_double         !< Solve tridiagonal eigensystem for a double-precision matrix with divide and conquer method
-  public :: solve_tridi                     !< Old, deprecated interface to solve tridiagonal eigensystem for a double-precision matrix with divide and conquer method
 
 #ifdef WANT_SINGLE_PRECISION_REAL
   public :: elpa_cholesky_real_single       !< Cholesky factorization of a single-precision real matrix
@@ -93,193 +86,8 @@ module ELPA1_AUXILIARY
   public :: elpa_mult_ah_b_complex_single   !< Multiply single-precision complex matrices A**H * B
 #endif
 
-!> \brief  cholesky_real: old, deprecated interface for Cholesky factorization of a double-precision real symmetric matrix
-!> \details
-!>
-!> \param  na                   Order of matrix
-!> \param  a(lda,matrixCols)    Distributed matrix which should be factorized.
-!>                              Distribution is like in Scalapack.
-!>                              Only upper triangle needs to be set.
-!>                              On return, the upper triangle contains the Cholesky factor
-!>                              and the lower triangle is set to 0.
-!> \param  lda                  Leading dimension of a
-!> \param                       matrixCols  local columns of matrix a
-!> \param  nblk                 blocksize of cyclic distribution, must be the same in both directions!
-!> \param  mpi_comm_rows        MPI communicator for rows
-!> \param  mpi_comm_cols        MPI communicator for columns
-!> \param wantDebug             logical, more debug information on failure
-!> \result succes                logical, reports success or failure
-  interface cholesky_real
-    module procedure elpa_cholesky_real_double
-  end interface
-
-!> \brief  Old, deprecated interface invert_trm_real: Inverts a upper double-precision triangular matrix
-!> \details
-!> \param  na                   Order of matrix
-!> \param  a(lda,matrixCols)    Distributed matrix which should be inverted
-!>                              Distribution is like in Scalapack.
-!>                              Only upper triangle needs to be set.
-!>                              The lower triangle is not referenced.
-!> \param  lda                  Leading dimension of a
-!> \param  nblk                 blocksize of cyclic distribution, must be the same in both directions!
-!> \param  matrixCols           local columns of matrix a
-!> \param  mpi_comm_rows        MPI communicator for rows
-!> \param  mpi_comm_cols        MPI communicator for columns
-!> \param wantDebug             logical, more debug information on failure
-!> \param result                logical, reports success or failure
-
-  interface invert_trm_real
-    module procedure elpa_invert_trm_real_double
-  end interface
-
-!> \brief  old, deprecated interface cholesky_complex: Cholesky factorization of a double-precision complex hermitian matrix
-!> \details
-!> \param  na                   Order of matrix
-!> \param  a(lda,matrixCols)    Distributed matrix which should be factorized.
-!>                              Distribution is like in Scalapack.
-!>                              Only upper triangle needs to be set.
-!>                              On return, the upper triangle contains the Cholesky factor
-!>                              and the lower triangle is set to 0.
-!> \param  lda                  Leading dimension of a
-!> \param  nblk                 blocksize of cyclic distribution, must be the same in both directions!
-!> \param  matrixCols           local columns of matrix a
-!> \param  mpi_comm_rows        MPI communicator for rows
-!> \param  mpi_comm_cols        MPI communicator for columns
-!> \param wantDebug             logical, more debug information on failure
-!> \result succes               logical, reports success or failure
-
-
-  interface cholesky_complex
-    module procedure elpa_cholesky_complex_double
-  end interface
-
-!> \brief  old, deprecated interface invert_trm_complex: Inverts a double-precision complex upper triangular matrix
-!> \details
-!> \param  na                   Order of matrix
-!> \param  a(lda,matrixCols)    Distributed matrix which should be inverted
-!>                              Distribution is like in Scalapack.
-!>                              Only upper triangle needs to be set.
-!>                              The lower triangle is not referenced.
-!> \param  lda                  Leading dimension of a
-!> \param  nblk                 blocksize of cyclic distribution, must be the same in both directions!
-!> \param  matrixCols           local columns of matrix a
-!> \param  mpi_comm_rows        MPI communicator for rows
-!> \param  mpi_comm_cols        MPI communicator for columns
-!> \param wantDebug             logical, more debug information on failure
-!> \result succes               logical, reports success or failure
-
-  interface invert_trm_complex
-    module procedure elpa_invert_trm_complex_double
-  end interface
-
-!> \brief  mult_at_b_real: Performs C : = A**T * B for double matrices
-!> this is the old, deprecated interface for the newer elpa_mult_at_b_real
-!>         where   A is a square matrix (na,na) which is optionally upper or lower triangular
-!>                 B is a (na,ncb) matrix
-!>                 C is a (na,ncb) matrix where optionally only the upper or lower
-!>                   triangle may be computed
-!> \details
-
-!> \param  uplo_a               'U' if A is upper triangular
-!>                              'L' if A is lower triangular
-!>                              anything else if A is a full matrix
-!>                              Please note: This pertains to the original A (as set in the calling program)
-!>                                           whereas the transpose of A is used for calculations
-!>                              If uplo_a is 'U' or 'L', the other triangle is not used at all,
-!>                              i.e. it may contain arbitrary numbers
-!> \param uplo_c                'U' if only the upper diagonal part of C is needed
-!>                              'L' if only the upper diagonal part of C is needed
-!>                              anything else if the full matrix C is needed
-!>                              Please note: Even when uplo_c is 'U' or 'L', the other triangle may be
-!>                                            written to a certain extent, i.e. one shouldn't rely on the content there!
-!> \param na                    Number of rows/columns of A, number of rows of B and C
-!> \param ncb                   Number of columns  of B and C
-!> \param a                     matrix a
-!> \param lda                   leading dimension of matrix a
-!> \param b                     matrix b
-!> \param ldb                   leading dimension of matrix b
-!> \param nblk                  blocksize of cyclic distribution, must be the same in both directions!
-!> \param  mpi_comm_rows        MPI communicator for rows
-!> \param  mpi_comm_cols        MPI communicator for columns
-!> \param c                     matrix c
-!> \param ldc                   leading dimension of matrix c
-  interface mult_at_b_real
-    module procedure elpa_mult_at_b_real_double
-  end interface
-
-!> \brief  Old, deprecated interface mult_ah_b_complex: Performs C : = A**H * B for double-precision matrices
-!>         where   A is a square matrix (na,na) which is optionally upper or lower triangular
-!>                 B is a (na,ncb) matrix
-!>                 C is a (na,ncb) matrix where optionally only the upper or lower
-!>                   triangle may be computed
-!> \details
-!>
-!> \param  uplo_a               'U' if A is upper triangular
-!>                              'L' if A is lower triangular
-!>                              anything else if A is a full matrix
-!>                              Please note: This pertains to the original A (as set in the calling program)
-!>                                           whereas the transpose of A is used for calculations
-!>                              If uplo_a is 'U' or 'L', the other triangle is not used at all,
-!>                              i.e. it may contain arbitrary numbers
-!> \param uplo_c                'U' if only the upper diagonal part of C is needed
-!>                              'L' if only the upper diagonal part of C is needed
-!>                              anything else if the full matrix C is needed
-!>                              Please note: Even when uplo_c is 'U' or 'L', the other triangle may be
-!>                                            written to a certain extent, i.e. one shouldn't rely on the content there!
-!> \param na                    Number of rows/columns of A, number of rows of B and C
-!> \param ncb                   Number of columns  of B and C
-!> \param a                     matrix a
-!> \param lda                   leading dimension of matrix a
-!> \param b                     matrix b
-!> \param ldb                   leading dimension of matrix b
-!> \param nblk                  blocksize of cyclic distribution, must be the same in both directions!
-!> \param  mpi_comm_rows        MPI communicator for rows
-!> \param  mpi_comm_cols        MPI communicator for columns
-!> \param c                     matrix c
-!> \param ldc                   leading dimension of matrix c
-  interface mult_ah_b_complex
-    module procedure elpa_mult_ah_b_complex_double
-  end interface
-
-
-!> \brief  solve_tridi: Old, deprecated interface to solve a double-precision tridiagonal eigensystem for a double-precision matrix with divide and conquer method
-!> \details
-!>
-!> \param na                    Matrix dimension
-!> \param nev                   number of eigenvalues/vectors to be computed
-!> \param d                     array d(na) on input diagonal elements of tridiagonal matrix, on
-!>                              output the eigenvalues in ascending order
-!> \param e                     array e(na) on input subdiagonal elements of matrix, on exit destroyed
-!> \param q                     on exit : matrix q(ldq,matrixCols) contains the eigenvectors
-!> \param ldq                   leading dimension of matrix q
-!> \param nblk                  blocksize of cyclic distribution, must be the same in both directions!
-!> \param matrixCols            columns of matrix q
-!> \param mpi_comm_rows         MPI communicator for rows
-!> \param mpi_comm_cols         MPI communicator for columns
-!> \param wantDebug             logical, give more debug information if .true.
-!> \result success              logical, .true. on success, else .false.
-  interface solve_tridi
-    module procedure elpa_solve_tridi_double
-  end interface
-
   contains
 
-!> \brief  cholesky_real_double: Cholesky factorization of a double-precision real symmetric matrix
-!> \details
-!>
-!> \param  na                   Order of matrix
-!> \param  a(lda,matrixCols)    Distributed matrix which should be factorized.
-!>                              Distribution is like in Scalapack.
-!>                              Only upper triangle needs to be set.
-!>                              On return, the upper triangle contains the Cholesky factor
-!>                              and the lower triangle is set to 0.
-!> \param  lda                  Leading dimension of a
-!> \param  nblk                 blocksize of cyclic distribution, must be the same in both directions!
-!> \param  matrixCols           local columns of matrix a
-!> \param  mpi_comm_rows        MPI communicator for rows
-!> \param  mpi_comm_cols        MPI communicator for columns
-!> \param wantDebug             logical, more debug information on failure
-!> \param succes                logical, reports success or failure
 
 #define REALCASE 1
 #define DOUBLE_PRECISION
diff --git a/src/elpa2/legacy_interface/elpa2.F90 b/src/elpa2/legacy_interface/elpa2.F90
index a5ecdd7ae98f755bccdbe677ae421dc5346affbc..530cf67ef2de34ee28af3734117abbdf8171dac7 100644
--- a/src/elpa2/legacy_interface/elpa2.F90
+++ b/src/elpa2/legacy_interface/elpa2.F90
@@ -71,52 +71,6 @@ module elpa2
   public :: elpa_solve_evp_real_2stage_double          !< Driver routine for real double-precision 2-stage eigenvalue problem
   public :: elpa_solve_evp_complex_2stage_double       !< Driver routine for complex double-precision 2-stage eigenvalue problem
 
-
-!-------------------------------------------------------------------------------
-!>  \brief solve_evp_real_2stage: Old, deprecated interface for elpa_solve_evp_real_2stage_double
-!>
-!>  Parameters
-!>
-!>  \param na                                   Order of matrix a
-!>
-!>  \param nev                                  Number of eigenvalues needed
-!>
-!>  \param a(lda,matrixCols)                    Distributed matrix for which eigenvalues are to be computed.
-!>                                              Distribution is like in Scalapack.
-!>                                              The full matrix must be set (not only one half like in scalapack).
-!>                                              Destroyed on exit (upper and lower half).
-!>
-!>  \param lda                                  Leading dimension of a
-!>
-!>  \param ev(na)                               On output: eigenvalues of a, every processor gets the complete set
-!>
-!>  \param q(ldq,matrixCols)                    On output: Eigenvectors of a
-!>                                              Distribution is like in Scalapack.
-!>                                              Must be always dimensioned to the full size (corresponding to (na,na))
-!>                                              even if only a part of the eigenvalues is needed.
-!>
-!>  \param ldq                                  Leading dimension of q
-!>
-!>  \param nblk                                 blocksize of cyclic distribution, must be the same in both directions!
-!>
-!>  \param matrixCols                           local columns of matrix a and q
-!>
-!>  \param mpi_comm_rows                        MPI communicator for rows
-!>  \param mpi_comm_cols                        MPI communicator for columns
-!>  \param mpi_comm_all                         MPI communicator for the total processor set
-!>
-!>  \param THIS_REAL_ELPA_KERNEL_API (optional) specify used ELPA2 kernel via API
-!>
-!>  \param useQR (optional)                     use QR decomposition
-!>  \param useGPU (optional)                    decide whether to use GPUs or not
-
-!>
-!>  \result success                             logical, false if error occured
-!-------------------------------------------------------------------------------
-  interface solve_evp_real_2stage
-    module procedure solve_evp_real_2stage_double
-  end interface
-
 !-------------------------------------------------------------------------------
 !>  \brief elpa_solve_evp_real_2stage_double: Fortran function to solve the real double-precision eigenvalue problem with a 2 stage approach. This is called by "elpa_solve_evp_real_double"
 !>
@@ -161,49 +115,6 @@ module elpa2
     module procedure solve_evp_real_2stage_double
   end interface
 
-!-------------------------------------------------------------------------------
-!>  \brief solve_evp_complex_2stage: Old, deprecated interface for elpa_solve_evp_complex_2stage_double
-!>
-!>  Parameters
-!>
-!>  \param na                                   Order of matrix a
-!>
-!>  \param nev                                  Number of eigenvalues needed
-!>
-!>  \param a(lda,matrixCols)                    Distributed matrix for which eigenvalues are to be computed.
-!>                                              Distribution is like in Scalapack.
-!>                                              The full matrix must be set (not only one half like in scalapack).
-!>                                              Destroyed on exit (upper and lower half).
-!>
-!>  \param lda                                  Leading dimension of a
-!>
-!>  \param ev(na)                               On output: eigenvalues of a, every processor gets the complete set
-!>
-!>  \param q(ldq,matrixCols)                    On output: Eigenvectors of a
-!>                                              Distribution is like in Scalapack.
-!>                                              Must be always dimensioned to the full size (corresponding to (na,na))
-!>                                              even if only a part of the eigenvalues is needed.
-!>
-!>  \param ldq                                  Leading dimension of q
-!>
-!>  \param nblk                                 blocksize of cyclic distribution, must be the same in both directions!
-!>
-!>  \param matrixCols                           local columns of matrix a and q
-!>
-!>  \param mpi_comm_rows                        MPI communicator for rows
-!>  \param mpi_comm_cols                        MPI communicator for columns
-!>  \param mpi_comm_all                         MPI communicator for the total processor set
-!>
-!>  \param THIS_REAL_ELPA_KERNEL_API (optional) specify used ELPA2 kernel via API
-!>
-!>  \param useGPU (optional)                    decide whether to use GPUs or not
-!>
-!>  \result success                             logical, false if error occured
-!-------------------------------------------------------------------------------
-  interface solve_evp_complex_2stage
-    module procedure solve_evp_complex_2stage_double
-  end interface
-
 !-------------------------------------------------------------------------------
 !>  \brief elpa_solve_evp_complex_2stage_double: Fortran function to solve the complex double-precision eigenvalue problem with a 2 stage approach. This is called by "elpa_solve_evp_complex_double"
 !>