diff --git a/example/exampleRecommendedIndex.py b/example/exampleRecommendedIndex.py
new file mode 100644
index 0000000000000000000000000000000000000000..02eabdad039d69d001fe9da2dff3209ddfbb882a
--- /dev/null
+++ b/example/exampleRecommendedIndex.py
@@ -0,0 +1,29 @@
+#!/bin/python
+
+import eisgenerator as eis
+
+model = eis.Model("c{1e-6}r{1e3}")
+print(f"model: {model}")
+
+eis.Log.level = eis.Log.level.WARN
+print(f'set log level: {eis.Log.level}')
+
+with eis.ostream_redirect(stdout=True, stderr=True):
+	data = model.execute(1e6)
+print(f"data for omega={data.omega}: {data}")
+
+model = eis.Model("c{1e-6~1e-5}r{1e3~1e4}")
+
+omegaRange = eis.Range(1, 1000, 25, True)
+
+indecies = model.getRecommendedParamIndices(omegaRange, 0.01, True)
+
+print(f"found {len(indecies)} interesting indecies")
+
+sweep = model.executeSweep(omegaRange.getRangeVector(), indecies[0])
+
+spectra = eis.EisSpectra()
+spectra.data = sweep
+spectra.model = model.getModelStrWithParam(200)
+
+print(spectra)
diff --git a/src/main.cpp b/src/main.cpp
index c297239ddcae8c82f369df875111e277e1fafefa..4cb011e4dacd253c8512770c711017bf95fa321e 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -7,6 +7,7 @@
 #include <eisgenerator/model.h>
 #include <eisgenerator/eistype.h>
 #include <eisgenerator/log.h>
+#include <eisgenerator/basicmath.h>
 #include <vector>
 #include <sstream>
 
@@ -44,6 +45,7 @@ PYBIND11_MODULE(_core, m)
 			 py::arg("omega"), py::arg("index") = 0)
 		.def("executeAllSweeps", &Model::executeAllSweeps)
 		.def("getModelStr", &Model::getModelStr)
+		.def("setParamSweepCountClosestTotal", &Model::setParamSweepCountClosestTotal, py::arg("total"))
 		.def("getModelStrWithParam", static_cast<std::string (Model::*)(size_t)>(&Model::getModelStrWithParam),
 			 py::arg("index") = 0)
 		.def("getUuid", &Model::getUuid)
@@ -55,6 +57,8 @@ PYBIND11_MODULE(_core, m)
 		.def("getTorchScript", &Model::getTorchScript)
 		.def("getCompiledFunctionName", &Model::getCompiledFunctionName)
 		.def("getFlatParameters", &Model::getFlatParameters)
+		.def("getParameterCount", &Model::getParameterCount)
+		.def("getRecommendedParamIndices", &Model::getRecommendedParamIndices)
 		.def("__repr__", &Model::getModelStr);
 	py::class_<DataPoint>(m, "DataPoint")
 		.def(py::init<std::complex<fvalue>, fvalue>(), py::arg("im") = std::complex<fvalue>(0, 0), py::arg("omega") = 100)