diff --git a/drt.cpp b/drt.cpp
index f2491dc43819cec094ed0e49b5779a215dcef7fd..5f910cfd0dd9a87c1291f490b40010cf77b22b14 100644
--- a/drt.cpp
+++ b/drt.cpp
@@ -118,7 +118,7 @@ public:
 			x[i] += 2*epsilon;
 			fvalue right = fn(x);
 			x[i] -= epsilon;
-			x[i] = (right-left)/(2*epsilon);
+			out[i] = (right-left)/(2*epsilon);
 		}
 		return out;
 	}
@@ -126,6 +126,7 @@ public:
 	fvalue operator()(Eigen::VectorX<fvalue>& x, Eigen::VectorX<fvalue>& grad)
 	{
 		grad = getGrad(std::bind(&RtFunct::function, this, std::placeholders::_1), x, epsilon);
+		std::cout<<"grad:\n"<<grad<<std::endl;
 		return function(x);
 	}
 };
diff --git a/main.cpp b/main.cpp
index 4e2624532b06a7b9b6ed5f4ed91904d1ca688c76..745f8e4d5520c22977076dd591ea59ac11fe71b8 100644
--- a/main.cpp
+++ b/main.cpp
@@ -27,23 +27,19 @@ int main(int argc, char** argv)
 	std::cout<<std::scientific;
 
 	eis::Range omega(1, 1e6, 3, true);
-	std::vector<fvalue> omegaVector = omega.getRangeVector();
 	eis::Model model("r{10}-r{50}p{0.02, 0.8}");
 
-	for(size_t i = 0; i < 2; ++i)
-	{
-		std::vector<eis::DataPoint> data = model.executeSweep(omega);
-		printImpedance(data);
+	std::vector<eis::DataPoint> data = model.executeSweep(omega);
+	printImpedance(data);
 
-		FitMetics fm = {};
-		Eigen::VectorX<fvalue> omega;
-		Eigen::VectorX<std::complex<fvalue>> impedanceSpectra = eistoeigen(data, &omega);
-		Eigen::VectorX<fvalue> x = calcDrt(impedanceSpectra, omega, fm, FitParameters(1000));
+	FitMetics fm = {};
+	Eigen::VectorX<fvalue> omegaVector;
+	Eigen::VectorX<std::complex<fvalue>> impedanceSpectra = eistoeigen(data, &omegaVector);
+	Eigen::VectorX<fvalue> x = calcDrt(impedanceSpectra, omegaVector, fm, FitParameters(1000));
 
-		std::cout<<"Iterations: "<<fm.iterations<<'\n';
-		std::cout<<"fx "<<fm.fx<<'\n';
-		std::cout<<"xVect\n"<<x<<'\n';
-	}
+	std::cout<<"Iterations: "<<fm.iterations<<'\n';
+	std::cout<<"fx "<<fm.fx<<'\n';
+	std::cout<<"xVect\n"<<x<<'\n';
 
 	return 0;
 }