diff --git a/Core/Legacy/SpecularMagneticStrategy_v1.cpp b/Core/Legacy/SpecularMagneticStrategy_v1.cpp
index cb6d141ae36113f2f63081dba078e1ca31e7fd3e..0171d494e2be2c5d7b975a08aaf21f2e530155ac 100644
--- a/Core/Legacy/SpecularMagneticStrategy_v1.cpp
+++ b/Core/Legacy/SpecularMagneticStrategy_v1.cpp
@@ -35,7 +35,7 @@ ISpecularStrategy::coeffs_t SpecularMagneticStrategy_v1::Execute(const std::vect
     CalculateEigenvalues(slices, k, result);
     CalculateTransferAndBoundary(slices, result);
 
-    coeffs_t resultConvert;
+    ISpecularStrategy::coeffs_t resultConvert;
     for (auto& coeff : result)
         resultConvert.push_back(std::make_unique<MatrixRTCoefficients_v1>(coeff));
 
diff --git a/Core/Legacy/SpecularMagneticStrategy_v1.h b/Core/Legacy/SpecularMagneticStrategy_v1.h
index be9c8d7e87e3a1b5958c2c233812f659c0b88e22..b917bfaa3fb0f7ea43f35161aed65331e2ff5c60 100644
--- a/Core/Legacy/SpecularMagneticStrategy_v1.h
+++ b/Core/Legacy/SpecularMagneticStrategy_v1.h
@@ -28,11 +28,17 @@ class Slice;
 
 class SpecularMagneticStrategy_v1 : public ISpecularStrategy {
 public:
+    // TODO remove once external test code is not needed anmyore
+    // for the moment i need them!
+    using coefficient_type         = MatrixRTCoefficients_v1;
+    using coefficient_pointer_type = std::unique_ptr<const coefficient_type>;
+    using coeffs_t                 = std::vector<coefficient_pointer_type>;
+
     //! Computes refraction angle reflection/transmission coefficients
     //! for given sliced multilayer and wavevector k
-    coeffs_t Execute(const std::vector<Slice>& slices, const kvector_t& k) const;
+    ISpecularStrategy::coeffs_t Execute(const std::vector<Slice>& slices, const kvector_t& k) const;
 
-    coeffs_t Execute(const std::vector<Slice>& slices, const std::vector<complex_t>& kz) const;
+    ISpecularStrategy::coeffs_t Execute(const std::vector<Slice>& slices, const std::vector<complex_t>& kz) const;
 
 }; // class SpecularMagneticStrategy_v1
 
diff --git a/Core/Legacy/SpecularMagneticStrategy_v2.h b/Core/Legacy/SpecularMagneticStrategy_v2.h
index 609437dd722d136b93449dd5451994a8e8f75c9b..c8346e0cf239e8e1dc7dbbc9fb0c5806147b68b6 100644
--- a/Core/Legacy/SpecularMagneticStrategy_v2.h
+++ b/Core/Legacy/SpecularMagneticStrategy_v2.h
@@ -31,6 +31,12 @@ class Slice;
 //! @ingroup algorithms_internal
 class SpecularMagneticStrategy_v2 : public ISpecularStrategy {
 public:
+    // TODO remove once external test code is not needed anmyore
+    // for the moment i need them!
+    using coefficient_type         = MatrixRTCoefficients_v2;
+    using coefficient_pointer_type = std::unique_ptr<const coefficient_type>;
+    using coeffs_t                 = std::vector<coefficient_pointer_type>;
+
     //! Computes refraction angle reflection/transmission coefficients
     //! for given sliced multilayer and wavevector k
     ISpecularStrategy::coeffs_t Execute(const std::vector<Slice>& slices, const kvector_t& k) const;
diff --git a/Sample/Specular/SpecularMagneticStrategy.h b/Sample/Specular/SpecularMagneticStrategy.h
index d9fcc4a9c849b641c9bbbef47b01957849416a24..20e2275415b7d96aadc26309a7c77e522d6c7bf3 100644
--- a/Sample/Specular/SpecularMagneticStrategy.h
+++ b/Sample/Specular/SpecularMagneticStrategy.h
@@ -32,6 +32,12 @@ class Slice;
 //! @ingroup algorithms_internal
 class SpecularMagneticStrategy : public ISpecularStrategy {
 public:
+    // TODO remove once external test code is not needed anmyore
+    // for the moment i need them!
+    using coefficient_type         = MatrixRTCoefficients;
+    using coefficient_pointer_type = std::unique_ptr<const coefficient_type>;
+    using coeffs_t                 = std::vector<coefficient_pointer_type>;
+
     //! Computes refraction angle reflection/transmission coefficients
     //! for given sliced multilayer and wavevector k
     ISpecularStrategy::coeffs_t Execute(const std::vector<Slice>& slices, const kvector_t& k) const;