diff --git a/cli.cpp b/cli.cpp
index 2109619e9dd1b0615db0c171bf69fcf5ab537ec5..2960bd71b6cd29bfa5699327333ee4012b1c4db2 100644
--- a/cli.cpp
+++ b/cli.cpp
@@ -86,7 +86,7 @@ int main(int argc, char** argv)
 
 		if(!toStdout)
 			std::cout<<"Calculateing Drt\n";
-		FitMetics fm;
+		FitMetrics fm;
 		std::vector<fvalue> drt = calcDrt(spectra.data, fm, FitParameters(1000));
 
 		if(!toStdout)
diff --git a/doc/mainpage.txt b/doc/mainpage.txt
index 05246e3a2c85e6d4e16b407d6da97af3ac63c173..5589da13c0c419a96e8cb76d5818db961c93aa72 100644
--- a/doc/mainpage.txt
+++ b/doc/mainpage.txt
@@ -88,7 +88,7 @@ int main(int argc, char** argv)
 	// simulated to be 1-1*10^6 Hz with 3 steps and log10 distrobution
 	eis::Range omega(1, 1e6, 3, true);
 
-	// specify circut to be simulated
+	// specify circuit to be simulated
 	eis::Model model("r{10}-r{50}p{0.02, 0.8}");
 
 	// execute a simulation
@@ -97,8 +97,8 @@ int main(int argc, char** argv)
 	// print the specrum
 	printImpedance(data);
 
-	// allocate a FitMetics struct on the stack
-	FitMetics fm;
+	// allocate a FitMetrics struct on the stack
+	FitMetrics fm;
 
 	// calculate the drt for this spectrum
 	std::vector<fvalue> x = calcDrt(data, fm, FitParameters(1000));
diff --git a/drt.cpp b/drt.cpp
index 456458c4fee2fd29cd96bd044c58ffd10e0c52c2..b74f4315897c03f77566da6ce67b991f19525272 100644
--- a/drt.cpp
+++ b/drt.cpp
@@ -169,7 +169,7 @@ static Eigen::Matrix<fv, Eigen::Dynamic, 2> calcBounds(Eigen::VectorX<std::compl
 
 template<typename fv>
 Eigen::VectorX<fv> calcDrt(Eigen::VectorX<std::complex<fv>>& impedanceSpectra, Eigen::VectorX<fv>& omegaTensor,
-	FitMetics& fm, const FitParameters& fp, fv* rSeries)
+	FitMetrics& fm, const FitParameters& fp, fv* rSeries)
 {
 	Eigen::Matrix<fv, Eigen::Dynamic, Eigen::Dynamic> aMatrixImag = aImag<fv>(omegaTensor);
 	Eigen::Matrix<fv, Eigen::Dynamic, Eigen::Dynamic> aMatrixReal = aReal<fv>(omegaTensor);
@@ -195,15 +195,15 @@ Eigen::VectorX<fv> calcDrt(Eigen::VectorX<std::complex<fv>>& impedanceSpectra, E
 	}
 	catch(const std::invalid_argument& ex)
 	{
-		throw drt_errror(std::string(ex.what()));
+		throw drt_error(std::string(ex.what()));
 	}
 	catch(const std::runtime_error& ex)
 	{
-		throw drt_errror(std::string(ex.what()));
+		throw drt_error(std::string(ex.what()));
 	}
 	catch(const std::logic_error& ex)
 	{
-		throw drt_errror(std::string(ex.what()));
+		throw drt_error(std::string(ex.what()));
 	}
 
 	if(rSeries)
@@ -213,10 +213,10 @@ Eigen::VectorX<fv> calcDrt(Eigen::VectorX<std::complex<fv>>& impedanceSpectra, E
 }
 
 template Eigen::VectorX<double> calcDrt<double>(Eigen::VectorX<std::complex<double>>&,
-	Eigen::VectorX<double>&, FitMetics& fm, const FitParameters& fp, double* rSeries);
+	Eigen::VectorX<double>&, FitMetrics& fm, const FitParameters& fp, double* rSeries);
 
 template Eigen::VectorX<float> calcDrt<float>(Eigen::VectorX<std::complex<float>>&,
-	Eigen::VectorX<float>&, FitMetics& fm, const FitParameters& fp, float* rSeries);
+	Eigen::VectorX<float>&, FitMetrics& fm, const FitParameters& fp, float* rSeries);
 
 template<typename fv>
 Eigen::VectorX<std::complex<fv>> calcImpedance(const Eigen::VectorX<fv>& drt, fv rSeries, Eigen::VectorX<fv>& omegaVector)
@@ -241,7 +241,7 @@ template Eigen::VectorX<std::complex<float>> calcImpedance<float>(const Eigen::V
 
 #ifdef USE_EISGEN
 std::vector<fvalue> calcDrt(const std::vector<eis::DataPoint>& data, const std::vector<fvalue>& omegaVector,
-	FitMetics& fm, const FitParameters& fp, fvalue* rSeries)
+	FitMetrics& fm, const FitParameters& fp, fvalue* rSeries)
 {
 	Eigen::VectorX<std::complex<fvalue>> impedanceSpectra = eistoeigen(data);
 	Eigen::VectorX<fvalue> omega = Eigen::VectorX<fvalue>::Map(omegaVector.data(), omegaVector.size());
@@ -251,7 +251,7 @@ std::vector<fvalue> calcDrt(const std::vector<eis::DataPoint>& data, const std::
 	return stdvector;
 }
 
-std::vector<fvalue> calcDrt(const std::vector<eis::DataPoint>& data, FitMetics& fm,  const FitParameters& fp, fvalue* rSeries)
+std::vector<fvalue> calcDrt(const std::vector<eis::DataPoint>& data, FitMetrics& fm,  const FitParameters& fp, fvalue* rSeries)
 {
 	Eigen::VectorX<fvalue> omega;
 	Eigen::VectorX<std::complex<fvalue>> impedanceSpectra = eistoeigen(data, &omega);
diff --git a/eisdrt/eigendrt.h b/eisdrt/eigendrt.h
index 147087c57c9b8e23c913bd31eaaa601a15b5daf2..a493403137876d6a6e7b21e9c60cf0676b6a0007 100644
--- a/eisdrt/eigendrt.h
+++ b/eisdrt/eigendrt.h
@@ -43,7 +43,7 @@
  */
 template<typename fv>
 Eigen::VectorX<fv> calcDrt(Eigen::VectorX<std::complex<fv>>& impedanceSpectra, Eigen::VectorX<fv>& omegaTensor,
-	FitMetics& fm, const FitParameters& fp, fv* rSeries = nullptr);
+	FitMetrics& fm, const FitParameters& fp, fv* rSeries = nullptr);
 
 
 /**
diff --git a/eisdrt/eisdrt.h b/eisdrt/eisdrt.h
index 125da9ce6816091357638be33ba6c7bd1a9b1ec9..f31d00fdf5abdf338718fad880339dca7c1853b0 100644
--- a/eisdrt/eisdrt.h
+++ b/eisdrt/eisdrt.h
@@ -40,7 +40,7 @@
  * @param rSeries An optional parameter where the series resistance is stored.
  * @return A vector with the drt values.
  */
-std::vector<fvalue> calcDrt(const std::vector<eis::DataPoint>& data, const std::vector<fvalue>& omegaVector, FitMetics& fm,
+std::vector<fvalue> calcDrt(const std::vector<eis::DataPoint>& data, const std::vector<fvalue>& omegaVector, FitMetrics& fm,
 	const FitParameters& fp, fvalue* rSeries = nullptr);
 
 /**
@@ -52,14 +52,14 @@ std::vector<fvalue> calcDrt(const std::vector<eis::DataPoint>& data, const std::
  * @param rSeries An optional parameter where the series resistance is stored.
  * @return A vector with the drt values.
  */
-std::vector<fvalue> calcDrt(const std::vector<eis::DataPoint>& data, FitMetics& fm, const FitParameters& fp, fvalue* rSeries = nullptr);
+std::vector<fvalue> calcDrt(const std::vector<eis::DataPoint>& data, FitMetrics& fm, const FitParameters& fp, fvalue* rSeries = nullptr);
 
 /**
  * @brief Calculate impedance from drt using eisgenerator datatypes.
  *
  * @param drt The drt to calculate impedance from.
  * @param omegaVector A vector with the omega values that the impedances where measured at.
- * @param rSeries An optional parameter where the series resistance is stored.
+ * @param rSeries A parameter giving the series resistance.
  * @return A vector with the impedance values.
  */
 std::vector<eis::DataPoint> calcImpedance(const std::vector<fvalue>& drt, fvalue rSeries, const std::vector<fvalue>& omegaVector);
@@ -69,7 +69,7 @@ std::vector<eis::DataPoint> calcImpedance(const std::vector<fvalue>& drt, fvalue
  *
  * @param drt The drt to calculate impedance from.
  * @param omegaRange A range that describes the omega values the drt was taken at.
- * @param rSeries An optional parameter where the series resistance is stored.
+ * @param rSeries A parameter giving the series resistance.
  * @return A vector with the impedance values.
  */
 std::vector<eis::DataPoint> calcImpedance(const std::vector<fvalue>& drt, fvalue rSeries, const eis::Range& omegaRange);
diff --git a/eisdrt/eistorchdrt.h b/eisdrt/eistorchdrt.h
index 8a5f1d58637d4ec6ceb4221600100a055025792a..e300b8fc7d197ec0fde189fe124b39d489f5c778 100644
--- a/eisdrt/eistorchdrt.h
+++ b/eisdrt/eistorchdrt.h
@@ -39,7 +39,7 @@
  * @param fp A struct with fit parameters.
  * @return A complex tensor with the drt values.
  */
-torch::Tensor calcDrtTorch(const std::vector<eis::DataPoint>& data, const std::vector<fvalue>& omegaVector, FitMetics& fm,  const FitParameters& fp);
+torch::Tensor calcDrtTorch(const std::vector<eis::DataPoint>& data, const std::vector<fvalue>& omegaVector, FitMetrics& fm,  const FitParameters& fp);
 
 /**
  * @brief Calculates impedance from drt using torch datatypes.
@@ -49,7 +49,7 @@ torch::Tensor calcDrtTorch(const std::vector<eis::DataPoint>& data, const std::v
  * @param fp A struct with fit parameters.
  * @return A complex tensor with the drt values.
  */
-torch::Tensor calcDrtTorch(const std::vector<eis::DataPoint>& data, FitMetics& fm,  const FitParameters& fp);
+torch::Tensor calcDrtTorch(const std::vector<eis::DataPoint>& data, FitMetrics& fm,  const FitParameters& fp);
 
 
 /**
diff --git a/eisdrt/torchdrt.h b/eisdrt/torchdrt.h
index 3a3949f695717fc0e6072428cc3da8fcf836b60c..dad7f7ada1ba56d6eca2e8dfda5eaceb842593c5 100644
--- a/eisdrt/torchdrt.h
+++ b/eisdrt/torchdrt.h
@@ -39,7 +39,7 @@ Api for use with libtorch applications
  * @return A 1d tensor with the drt values.
  */
 template<typename fv>
-torch::Tensor calcDrtTorch(torch::Tensor& impedanceSpectra, torch::Tensor& omegaTensor, FitMetics& fm, const FitParameters& fp);
+torch::Tensor calcDrtTorch(torch::Tensor& impedanceSpectra, torch::Tensor& omegaTensor, FitMetrics& fm, const FitParameters& fp);
 
 /**
  * @brief Calculates impedance from drt.
diff --git a/eisdrt/types.h b/eisdrt/types.h
index a3cca2860f38b8cf0d7f44cdc279f925bf9b5e93..ff442072f38447de7be6e6e2885ea43bdb43bf15 100644
--- a/eisdrt/types.h
+++ b/eisdrt/types.h
@@ -32,11 +32,11 @@ Types for use with all eisdrt apis
 /**
  * @brief This exception thrown if drt could not be calculated.
  */
-class drt_errror: public std::exception
+class drt_error: public std::exception
 {
 	std::string whatStr;
 public:
-	drt_errror(const std::string& whatIn): whatStr(whatIn)
+	drt_error(const std::string& whatIn): whatStr(whatIn)
 	{}
 	virtual const char* what() const noexcept override
 	{
@@ -47,7 +47,7 @@ public:
 /**
  * @brief This is used to return information on a fit.
  */
-struct FitMetics
+struct FitMetrics
 {
 	int iterations;	/**< how many iterations where used */
 	double fx;		/**< error function value remaining after fit */
diff --git a/main.cpp b/main.cpp
index 478b01120400c66535420aa82beec9adb89865e0..d29f92e987c8b616fcf2dc5262ebec996db6b0c7 100644
--- a/main.cpp
+++ b/main.cpp
@@ -75,8 +75,8 @@ int main(int argc, char** argv)
 	// print the specrum
 	printImpedance(data);
 
-	// allocate a FitMetics struct on the stack
-	FitMetics fm;
+	// allocate a FitMetrics struct on the stack
+	FitMetrics fm;
 
 	// calculate the drt for this spectrum
 	fvalue rSeries;
diff --git a/testtorchdrt.cpp b/testtorchdrt.cpp
index b441b345310f53530a02b4832100cdc8e1da82b6..1dd0b5f6ec87c4e4773656b7756856af8932a133 100644
--- a/testtorchdrt.cpp
+++ b/testtorchdrt.cpp
@@ -52,7 +52,7 @@ int main(int argc, char** argv)
 	std::vector<eis::DataPoint> data = model.executeSweep(omega);
 	printImpedance(data);
 
-	FitMetics fm = {};
+	FitMetrics fm = {};
 	torch::Tensor drt = calcDrtTorch(data, fm, FitParameters(1000));
 
 	std::cout<<"Iterations: "<<fm.iterations<<'\n';
diff --git a/torchdrt.cpp b/torchdrt.cpp
index d6cad8533280acf64411bf9c71153b95bb6ae9a0..815c42267aef73d684a9888a119dc454037ac4a2 100644
--- a/torchdrt.cpp
+++ b/torchdrt.cpp
@@ -31,7 +31,7 @@
 
 
 template<typename fv>
-torch::Tensor calcDrtTorch(torch::Tensor& impedanceSpectra, torch::Tensor& omegaTensor, FitMetics& fm, const FitParameters& fp)
+torch::Tensor calcDrtTorch(torch::Tensor& impedanceSpectra, torch::Tensor& omegaTensor, FitMetrics& fm, const FitParameters& fp)
 {
 	assert(checkTorchType<std::complex<fv>>(impedanceSpectra));
 	Eigen::Vector<std::complex<fv>, Eigen::Dynamic> impedanceSpectraEigen =
@@ -46,7 +46,7 @@ torch::Tensor calcDrtTorch(torch::Tensor& impedanceSpectra, torch::Tensor& omega
 }
 
 #ifdef USE_EISGEN
-torch::Tensor calcDrtTorch(const std::vector<eis::DataPoint>& data, const std::vector<fvalue>& omegaVector, FitMetics& fm,  const FitParameters& fp)
+torch::Tensor calcDrtTorch(const std::vector<eis::DataPoint>& data, const std::vector<fvalue>& omegaVector, FitMetrics& fm,  const FitParameters& fp)
 {
 	Eigen::VectorX<std::complex<fvalue>> impedanceSpectra = eistoeigen(data);
 	Eigen::VectorX<fvalue> omega = Eigen::VectorX<fvalue>::Map(omegaVector.data(), omegaVector.size());
@@ -55,7 +55,7 @@ torch::Tensor calcDrtTorch(const std::vector<eis::DataPoint>& data, const std::v
 	return outputTensor;
 }
 
-torch::Tensor calcDrtTorch(const std::vector<eis::DataPoint>& data, FitMetics& fm,  const FitParameters& fp)
+torch::Tensor calcDrtTorch(const std::vector<eis::DataPoint>& data, FitMetrics& fm,  const FitParameters& fp)
 {
 	Eigen::VectorX<fvalue> omega;
 	Eigen::VectorX<std::complex<fvalue>> impedanceSpectra = eistoeigen(data, &omega);