diff --git a/basicmath.cpp b/basicmath.cpp
index 71a9f932362ecf4ab35025e9fe63e210935c01a3..fa68fad6f3ffa37da2678383855fecc407e58bd9 100644
--- a/basicmath.cpp
+++ b/basicmath.cpp
@@ -100,3 +100,18 @@ fvalue eis::median(std::vector<fvalue> data)
 	else
 		return data[data.size()/2];
 }
+
+std::vector<eis::DataPoint> eis::rescale(const std::vector<eis::DataPoint>& data, size_t outputSize)
+{
+	std::vector<eis::DataPoint> output(outputSize);
+	for(size_t i = 0; i < output.size(); ++i)
+	{
+		double position = static_cast<double>(i) / (output.size()-1);
+		double sourcePosF = (data.size()-1)*position;
+		size_t sourcePos = (data.size()-1)*position;
+		double frac = sourcePosF - sourcePos;
+		output[i].im = data[sourcePos].im*(1-frac) + data[sourcePos+1].im*frac;
+		output[i].omega = data[sourcePos].omega*(1-frac) + data[sourcePos+1].omega*frac;
+	}
+	return output;
+}
diff --git a/eisgenerator/basicmath.h b/eisgenerator/basicmath.h
index fa389b40a5edbb8318253715be69efc54292bed2..0cc0d01406884dc95d5be1da2b9caec80f099c83 100644
--- a/eisgenerator/basicmath.h
+++ b/eisgenerator/basicmath.h
@@ -11,4 +11,5 @@ namespace eis
 	std::complex<fvalue> mean(const std::vector<eis::DataPoint>& data);
 	fvalue median(std::vector<fvalue> data);
 	std::complex<fvalue> median(const std::vector<eis::DataPoint>& data);
+	std::vector<eis::DataPoint> rescale(const std::vector<eis::DataPoint>& data, size_t outputSize);
 }
diff --git a/eisgenerator/normalize.h b/eisgenerator/normalize.h
index 1d9688825c57970c5b9327ccfe0c899581670815..21409e83a943c369d133b5b1d22f6a71b281f6f7 100644
--- a/eisgenerator/normalize.h
+++ b/eisgenerator/normalize.h
@@ -11,6 +11,5 @@ namespace eis
 void normalize(std::vector<eis::DataPoint>& data);
 std::vector<eis::DataPoint> reduceRegion(const std::vector<eis::DataPoint>& data, fvalue gradThreshFactor = 0.01);
 void eraseSingularites(std::vector<eis::DataPoint>& data);
-std::vector<eis::DataPoint> rescale(const std::vector<eis::DataPoint>& data, size_t outputSize);
 
 }
diff --git a/main.cpp b/main.cpp
index 062131c1d1f58f43bab88a8b28a7e4d67612c80e..b69c1b89f56da3dc7ff508aa9c66722686897de2 100644
--- a/main.cpp
+++ b/main.cpp
@@ -60,7 +60,7 @@ static void runSweep(const std::string& modelString, eis::Range omega, bool norm
 		eis::Log(eis::Log::INFO)<<"results:";
 	}
 
-	eis::Log(eis::Log::INFO)<<(hertz ? "freqency" : "omega")<<",real,im";
+	std::cout<<(hertz ? "freqency" : "omega")<<",real,im\n";
 
 	for(const eis::DataPoint& res : results)
 		std::cout<<res.omega/(2*M_PI)<<','<<res.im.real()<<','<<(invert ? 0-res.im.imag() : res.im.imag())<<'\n';
diff --git a/normalize.cpp b/normalize.cpp
index 7d7c3e86f01b938a19878f936768163ad0d87d45..a7cb4dfbbd4bcba608e26d314d695bf59d3c7f3a 100644
--- a/normalize.cpp
+++ b/normalize.cpp
@@ -95,18 +95,3 @@ std::vector<eis::DataPoint> eis::reduceRegion(const std::vector<eis::DataPoint>&
 
 	return data;
 }
-
-std::vector<eis::DataPoint> eis::rescale(const std::vector<eis::DataPoint>& data, size_t outputSize)
-{
-	std::vector<eis::DataPoint> output(outputSize);
-	for(size_t i = 0; i < output.size(); ++i)
-	{
-		double position = static_cast<double>(i) / (output.size()-1);
-		double sourcePosF = (data.size()-1)*position;
-		size_t sourcePos = (data.size()-1)*position;
-		double frac = sourcePosF - sourcePos;
-		output[i].im = data[sourcePos].im*(1-frac) + data[sourcePos+1].im*frac;
-		output[i].omega = data[sourcePos].omega*(1-frac) + data[sourcePos+1].omega*frac;
-	}
-	return output;
-}
diff --git a/test.cpp b/test.cpp
index 9940be5458ad7abb28f6c9b8a01728e1ba3a7cf4..129418618d3129b0b1880ca212507e9378e0629a 100644
--- a/test.cpp
+++ b/test.cpp
@@ -5,6 +5,7 @@
 #include "model.h"
 #include "log.h"
 #include "normalize.h"
+#include "basicmath.h"
 
 void printDataVect(const std::vector<eis::DataPoint> in)
 {