From 7d215bee636ec6c1dbfaa30113969a871dbcee71 Mon Sep 17 00:00:00 2001
From: Thomas <purcell@fhi-berlin.mpg.de>
Date: Thu, 12 Aug 2021 19:58:39 +0200
Subject: [PATCH] Update file docstrings for C++ header files and standardize
 path names

---
 src/.removed_features/domain/Domain.hpp       |  2 +-
 .../ModelLogRegressorFitC.cpp                 |  2 +-
 .../ModelLogRegressorFitC.hpp                 |  5 +-
 .../SISSOLogRegressorFitC.cpp                 |  2 +-
 .../SISSOLogRegressorFitC.hpp                 |  9 ++--
 src/classification/ConvexHull1D.hpp           |  6 ++-
 src/classification/LPWrapper.hpp              |  5 +-
 src/classification/SVMWrapper.cpp             |  1 +
 src/classification/SVMWrapper.hpp             |  5 +-
 src/classification/prop_sorted_d_mat.hpp      |  8 +--
 .../{Model => model}/Model.cpp                |  2 +-
 .../{Model => model}/Model.hpp                | 11 ++--
 .../{Model => model}/ModelClassifier.cpp      |  2 +-
 .../{Model => model}/ModelClassifier.hpp      | 13 +++--
 .../{Model => model}/ModelLogRegressor.cpp    |  2 +-
 .../{Model => model}/ModelLogRegressor.hpp    | 13 +++--
 .../{Model => model}/ModelRegressor.cpp       |  2 +-
 .../{Model => model}/ModelRegressor.hpp       | 13 +++--
 .../{SISSO_DI => solver}/SISSOClassifier.cpp  |  4 +-
 .../{SISSO_DI => solver}/SISSOClassifier.hpp  | 14 +++---
 .../SISSOLogRegressor.cpp                     |  2 +-
 .../SISSOLogRegressor.hpp                     | 12 ++---
 .../{SISSO_DI => solver}/SISSORegressor.cpp   |  4 +-
 .../{SISSO_DI => solver}/SISSORegressor.hpp   | 14 +++---
 .../SISSO_DI.cpp => solver/SISSOSolver.cpp}   |  4 +-
 .../SISSO_DI.hpp => solver/SISSOSolver.hpp}   | 20 ++++----
 .../feature_space/FeatureSpace.cpp            |  4 +-
 .../feature_space/FeatureSpace.hpp            |  9 ++--
 src/feature_creation/node/FeatureNode.hpp     | 10 ++--
 src/feature_creation/node/ModelNode.hpp       | 11 ++--
 src/feature_creation/node/Node.hpp            | 12 +++--
 .../node/operator_nodes/OperatorNode.hpp      | 10 ++--
 .../abs/absolute_value.hpp                    | 10 ++--
 .../abs/parameterized_absolute_value.hpp      | 10 ++--
 .../abs_diff/absolute_difference.hpp          | 10 ++--
 .../parameterized_absolute_difference.hpp     | 10 ++--
 .../allowed_operator_nodes/add/add.hpp        | 10 ++--
 .../add/parameterized_add.hpp                 | 10 ++--
 .../allowed_operator_nodes/cb/cube.hpp        | 10 ++--
 .../cb/parameterized_cube.hpp                 | 10 ++--
 .../allowed_operator_nodes/cbrt/cube_root.hpp | 10 ++--
 .../cbrt/parameterized_cube_root.hpp          | 10 ++--
 .../allowed_operator_nodes/cos/cos.hpp        | 10 ++--
 .../cos/parameterized_cos.hpp                 | 10 ++--
 .../allowed_operator_nodes/div/divide.hpp     | 10 ++--
 .../div/parameterized_divide.hpp              | 10 ++--
 .../exp/exponential.hpp                       | 10 ++--
 .../exp/parameterized_exponential.hpp         | 10 ++--
 .../allowed_operator_nodes/inv/inverse.hpp    | 10 ++--
 .../inv/parameterized_inverse.hpp             | 10 ++--
 .../allowed_operator_nodes/log/log.hpp        | 10 ++--
 .../log/parameterized_log.hpp                 | 10 ++--
 .../allowed_operator_nodes/mult/multiply.hpp  | 10 ++--
 .../mult/parameterized_multiply.hpp           | 10 ++--
 .../neg_exp/negative_exponential.hpp          | 10 ++--
 .../parameterized_negative_exponential.hpp    | 10 ++--
 .../sin/parameterized_sin.hpp                 | 10 ++--
 .../allowed_operator_nodes/sin/sin.hpp        |  6 ++-
 .../six_pow/parameterized_sixth_power.hpp     | 10 ++--
 .../six_pow/sixth_power.hpp                   | 10 ++--
 .../sq/parameterized_square.hpp               | 10 ++--
 .../allowed_operator_nodes/sq/square.hpp      | 10 ++--
 .../sqrt/parameterized_square_root.hpp        | 10 ++--
 .../sqrt/square_root.hpp                      | 10 ++--
 .../sub/parameterized_subtract.hpp            | 10 ++--
 .../allowed_operator_nodes/sub/subtract.hpp   | 10 ++--
 .../node/operator_nodes/allowed_ops.hpp       |  6 ++-
 .../node/operator_nodes/functions.hpp         |  6 ++-
 src/feature_creation/node/utils.hpp           |  6 ++-
 .../value_storage/nodes_value_containers.hpp  |  9 ++--
 src/feature_creation/units/Unit.hpp           |  9 ++--
 src/inputs/InputParser.cpp                    | 50 +++++++++----------
 src/inputs/InputParser.hpp                    | 14 +++---
 src/loss_function/LossFunction.hpp            |  5 +-
 src/loss_function/LossFunctionConvexHull.hpp  |  5 +-
 .../LossFunctionLogPearsonRMSE.hpp            |  5 +-
 src/loss_function/LossFunctionPearsonRMSE.hpp |  5 +-
 src/loss_function/utils.hpp                   |  5 +-
 src/main.cpp                                  | 30 +++++------
 src/mpi_interface/MPI_Interface.hpp           | 12 +++--
 .../{MPI_ops.cpp => MPI_Ops.cpp}              |  2 +-
 .../{MPI_ops.hpp => MPI_Ops.hpp}              | 10 ++--
 src/nl_opt/NLOptWrapper.hpp                   |  6 ++-
 .../bindings_docstring_keyed.cpp              | 28 +++++------
 .../bindings_docstring_keyed.hpp              | 14 +++---
 .../py_binding_cpp_def/conversion_utils.hpp   |  6 ++-
 .../descriptor_identifier/Model.cpp           |  2 +-
 .../descriptor_identifier/ModelClassifier.cpp |  2 +-
 .../descriptor_identifier/SISSOClassifier.cpp |  6 +--
 .../SISSOLogRegressor.cpp                     |  2 +-
 .../descriptor_identifier/SISSORegressor.cpp  |  6 +--
 .../{SISSO_DI.cpp => SISSOSolver.cpp}         |  6 +--
 .../feature_creation/node_utils.hpp           |  6 ++-
 src/python/py_interface/__init__.py           |  6 +--
 src/python/py_interface/get_solver.py         |  6 +--
 src/utils/compare_features.hpp                |  4 +-
 src/utils/enum.hpp                            |  4 +-
 src/utils/math_funcs.hpp                      |  4 +-
 src/utils/mkl_interface.hpp                   |  1 +
 src/utils/project.hpp                         |  4 +-
 src/utils/string_utils.hpp                    |  4 +-
 src/utils/vector_utils.hpp                    |  4 +-
 .../model/test_model_classifier.cc            |  2 +-
 .../model/test_model_log_regressor.cc         |  2 +-
 .../model/test_model_regressor.cc             |  2 +-
 .../sisso_regressor/test_sisso_classifier.cc  |  2 +-
 .../test_sisso_log_regressor.cc               |  2 +-
 .../sisso_regressor/test_sisso_regressor.cc   |  2 +-
 108 files changed, 500 insertions(+), 381 deletions(-)
 rename src/descriptor_identifier/{Model => model}/Model.cpp (99%)
 rename src/descriptor_identifier/{Model => model}/Model.hpp (98%)
 rename src/descriptor_identifier/{Model => model}/ModelClassifier.cpp (99%)
 rename src/descriptor_identifier/{Model => model}/ModelClassifier.hpp (96%)
 rename src/descriptor_identifier/{Model => model}/ModelLogRegressor.cpp (99%)
 rename src/descriptor_identifier/{Model => model}/ModelLogRegressor.hpp (94%)
 rename src/descriptor_identifier/{Model => model}/ModelRegressor.cpp (99%)
 rename src/descriptor_identifier/{Model => model}/ModelRegressor.hpp (96%)
 rename src/descriptor_identifier/{SISSO_DI => solver}/SISSOClassifier.cpp (99%)
 rename src/descriptor_identifier/{SISSO_DI => solver}/SISSOClassifier.hpp (95%)
 rename src/descriptor_identifier/{SISSO_DI => solver}/SISSOLogRegressor.cpp (99%)
 rename src/descriptor_identifier/{SISSO_DI => solver}/SISSOLogRegressor.hpp (95%)
 rename src/descriptor_identifier/{SISSO_DI => solver}/SISSORegressor.cpp (99%)
 rename src/descriptor_identifier/{SISSO_DI => solver}/SISSORegressor.hpp (94%)
 rename src/descriptor_identifier/{SISSO_DI/SISSO_DI.cpp => solver/SISSOSolver.cpp} (95%)
 rename src/descriptor_identifier/{SISSO_DI/SISSO_DI.hpp => solver/SISSOSolver.hpp} (95%)
 rename src/mpi_interface/{MPI_ops.cpp => MPI_Ops.cpp} (98%)
 rename src/mpi_interface/{MPI_ops.hpp => MPI_Ops.hpp} (95%)
 rename src/python/py_binding_cpp_def/descriptor_identifier/{SISSO_DI.cpp => SISSOSolver.cpp} (96%)

diff --git a/src/.removed_features/domain/Domain.hpp b/src/.removed_features/domain/Domain.hpp
index 7d2b657f..d342f55c 100644
--- a/src/.removed_features/domain/Domain.hpp
+++ b/src/.removed_features/domain/Domain.hpp
@@ -3,7 +3,7 @@
  *
  *  A dictionary representation of the domain for a features (key = domain, value = power)
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
 
diff --git a/src/.removed_features/log_fit_c_regressor/ModelLogRegressorFitC.cpp b/src/.removed_features/log_fit_c_regressor/ModelLogRegressorFitC.cpp
index 3600a900..bf7d040a 100644
--- a/src/.removed_features/log_fit_c_regressor/ModelLogRegressorFitC.cpp
+++ b/src/.removed_features/log_fit_c_regressor/ModelLogRegressorFitC.cpp
@@ -1,4 +1,4 @@
-#include <descriptor_identifier/Model/ModelLogRegressorFitC.hpp>
+#include <descriptor_identifier/model/ModelLogRegressorFitC.hpp>
 
 ModelLogRegressorFitC::ModelLogRegressorFitC(Unit prop_unit, std::vector<double> prop_train, std::vector<double> prop_test, std::vector<model_node_ptr> feats, std::vector<int> task_sizes_train, std::vector<int> task_sizes_test, bool fix_intercept) :
     ModelLogRegressor(prop_unit, prop_train, prop_test, feats, task_sizes_train, task_sizes_test, fix_intercept),
diff --git a/src/.removed_features/log_fit_c_regressor/ModelLogRegressorFitC.hpp b/src/.removed_features/log_fit_c_regressor/ModelLogRegressorFitC.hpp
index 8a88603d..a699cd70 100644
--- a/src/.removed_features/log_fit_c_regressor/ModelLogRegressorFitC.hpp
+++ b/src/.removed_features/log_fit_c_regressor/ModelLogRegressorFitC.hpp
@@ -4,13 +4,14 @@
  *  Creates a ModelLogRegressorFitC generated from SISSO and the corresponding output file.
  *  It also has functionality to read in an output file to regenerate the model.
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef MODEL_LOG_REGRESSOR_FIT_C
 #define MODEL_LOG_REGRESSOR_FIT_C
 
-#include <descriptor_identifier/Model/ModelLogRegressor.hpp>
+#include <descriptor_identifier/model/ModelLogRegressor.hpp>
 #include <nl_opt/NLOptWrapper.hpp>
 #ifdef PY_BINDINGS
     namespace np = boost::python::numpy;
diff --git a/src/.removed_features/log_fit_c_regressor/SISSOLogRegressorFitC.cpp b/src/.removed_features/log_fit_c_regressor/SISSOLogRegressorFitC.cpp
index ad5ad1ac..020e91ae 100644
--- a/src/.removed_features/log_fit_c_regressor/SISSOLogRegressorFitC.cpp
+++ b/src/.removed_features/log_fit_c_regressor/SISSOLogRegressorFitC.cpp
@@ -1,4 +1,4 @@
-#include <descriptor_identifier/SISSO_DI/SISSOLogRegressorFitC.hpp>
+#include <descriptor_identifier/solver/SISSOLogRegressorFitC.hpp>
 
 SISSOLogRegressorFitC::SISSOLogRegressorFitC(
     std::shared_ptr<FeatureSpace> feat_space,
diff --git a/src/.removed_features/log_fit_c_regressor/SISSOLogRegressorFitC.hpp b/src/.removed_features/log_fit_c_regressor/SISSOLogRegressorFitC.hpp
index 01eb4c38..904c3637 100644
--- a/src/.removed_features/log_fit_c_regressor/SISSOLogRegressorFitC.hpp
+++ b/src/.removed_features/log_fit_c_regressor/SISSOLogRegressorFitC.hpp
@@ -3,14 +3,15 @@
  *
  *  Takes in a feature space and performs SISSO on it while storing the selected features in _models
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef SISSO_LOG_REGRESSOR_FIT_C
 #define SISSO_LOG_REGRESSOR_FIT_C
 
-#include <descriptor_identifier/Model/ModelLogRegressorFitC.hpp>
-#include <descriptor_identifier/SISSO_DI/SISSOLogRegressor.hpp>
+#include <descriptor_identifier/model/ModelLogRegressorFitC.hpp>
+#include <descriptor_identifier/solver/SISSOLogRegressor.hpp>
 
 #ifdef PY_BINDINGS
     namespace np = boost::python::numpy;
@@ -146,7 +147,7 @@ public:
 
         // DocString: sisso_log_reg_models_py
         /**
-         * @brief The selected models (cpp definition in <python/descriptor_identifier/SISSO_DI.cpp)
+         * @brief The selected models (cpp definition in <python/descriptor_identifier/SISSOSolver.cpp)
          * @return models as a python list
          */
         py::list models_py();
diff --git a/src/classification/ConvexHull1D.hpp b/src/classification/ConvexHull1D.hpp
index d94d5428..8d04afef 100644
--- a/src/classification/ConvexHull1D.hpp
+++ b/src/classification/ConvexHull1D.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file classification/ConvexHull1D.hpp
- * @brief A set of functions to create convex hulls, and compare overlap/distance
+ *  @brief Defines a class that calculates the 1D Convex Hull overlap of a vector with property labels
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef CONVEX_UTILS
 #define CONVEX_UTILS
 
diff --git a/src/classification/LPWrapper.hpp b/src/classification/LPWrapper.hpp
index 5002b337..2e72dee0 100644
--- a/src/classification/LPWrapper.hpp
+++ b/src/classification/LPWrapper.hpp
@@ -11,10 +11,11 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file classification/LPWrapper.hpp
- * @brief A class used to wrap Coin-Clp into a single class
+ *  @brief A class used to wrap the Coin-Clp Simplex Library, and facilitate its use with SISSO++
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
 
diff --git a/src/classification/SVMWrapper.cpp b/src/classification/SVMWrapper.cpp
index 4fa2bf16..e69b40f0 100644
--- a/src/classification/SVMWrapper.cpp
+++ b/src/classification/SVMWrapper.cpp
@@ -11,6 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 #include "classification/SVMWrapper.hpp"
 
 SVMWrapper::SVMWrapper(const int n_class, const int n_dim, const int n_samp, const double* prop) :
diff --git a/src/classification/SVMWrapper.hpp b/src/classification/SVMWrapper.hpp
index c8a58955..fe0524b0 100644
--- a/src/classification/SVMWrapper.hpp
+++ b/src/classification/SVMWrapper.hpp
@@ -11,10 +11,11 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file classification/SVMWrapper.hpp
- * @brief A class used to wrap libsvm in more C++ oriented data structure
+ *  @brief A class used to wrap libsvm in more C++ oriented data structure
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
 
diff --git a/src/classification/prop_sorted_d_mat.hpp b/src/classification/prop_sorted_d_mat.hpp
index 8434fb2f..acabd3b7 100644
--- a/src/classification/prop_sorted_d_mat.hpp
+++ b/src/classification/prop_sorted_d_mat.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-/** @file classification/prop_sorted_d_mat.hpp
- * @brief Central storage area for a sorted descriptor matrix based on the task/class of a sample
 
- *  @author Thomas A. R. Purcell (tpurcell)
+/** @file classification/prop_sorted_d_mat.hpp
+ *  @brief Central storage area for a sorted descriptor matrix based on the task/class of a sample
+ *
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef PROP_SORTED_D_MAT
 #define PROP_SORTED_D_MAT
 
diff --git a/src/descriptor_identifier/Model/Model.cpp b/src/descriptor_identifier/model/Model.cpp
similarity index 99%
rename from src/descriptor_identifier/Model/Model.cpp
rename to src/descriptor_identifier/model/Model.cpp
index e3ef4be2..bc55527f 100644
--- a/src/descriptor_identifier/Model/Model.cpp
+++ b/src/descriptor_identifier/model/Model.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/Model/Model.hpp"
+#include "descriptor_identifier/model/Model.hpp"
 
 Model::Model(
     const std::string prop_label,
diff --git a/src/descriptor_identifier/Model/Model.hpp b/src/descriptor_identifier/model/Model.hpp
similarity index 98%
rename from src/descriptor_identifier/Model/Model.hpp
rename to src/descriptor_identifier/model/Model.hpp
index 2a4f1790..1847bf12 100644
--- a/src/descriptor_identifier/Model/Model.hpp
+++ b/src/descriptor_identifier/model/Model.hpp
@@ -11,15 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-/** @file descriptor_identifier/Model/Model.hpp
- * @brief Object to store the models generated form SISSO
- *
- *  Creates a Model generated from SISSO and the corresponding output file.
- *  It also has functionality to read in an output file to regenerate the model.
+
+/** @file descriptor_identifier/model/Model.hpp
+ *  @brief Defines the base class of the output Models for SISSO
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef MODEL
 #define MODEL
 
diff --git a/src/descriptor_identifier/Model/ModelClassifier.cpp b/src/descriptor_identifier/model/ModelClassifier.cpp
similarity index 99%
rename from src/descriptor_identifier/Model/ModelClassifier.cpp
rename to src/descriptor_identifier/model/ModelClassifier.cpp
index 9db9dec9..94895e49 100644
--- a/src/descriptor_identifier/Model/ModelClassifier.cpp
+++ b/src/descriptor_identifier/model/ModelClassifier.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/Model/ModelClassifier.hpp"
+#include "descriptor_identifier/model/ModelClassifier.hpp"
 
 ModelClassifier::ModelClassifier(
     const std::string prop_label,
diff --git a/src/descriptor_identifier/Model/ModelClassifier.hpp b/src/descriptor_identifier/model/ModelClassifier.hpp
similarity index 96%
rename from src/descriptor_identifier/Model/ModelClassifier.hpp
rename to src/descriptor_identifier/model/ModelClassifier.hpp
index 6459c29a..94baf348 100644
--- a/src/descriptor_identifier/Model/ModelClassifier.hpp
+++ b/src/descriptor_identifier/model/ModelClassifier.hpp
@@ -11,19 +11,18 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-/** @file descriptor_identifier/ModelClassifier/ModelClassifier.hpp
- * @brief Object to store the models generated form SISSO
- *
- *  Creates a ModelClassifier generated from SISSO and the corresponding output file.
- *  It also has functionality to read in an output file to regenerate the model.
+
+/** @file descriptor_identifier/model/ModelClassifier.hpp
+ *  @brief Defines a class for the output models from solving a classification problem
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef MODEL_CLASSIFIER
 #define MODEL_CLASSIFIER
 
-#include "descriptor_identifier/Model/Model.hpp"
+#include "descriptor_identifier/model/Model.hpp"
 
 #ifdef PY_BINDINGS
     namespace np = boost::python::numpy;
diff --git a/src/descriptor_identifier/Model/ModelLogRegressor.cpp b/src/descriptor_identifier/model/ModelLogRegressor.cpp
similarity index 99%
rename from src/descriptor_identifier/Model/ModelLogRegressor.cpp
rename to src/descriptor_identifier/model/ModelLogRegressor.cpp
index 39009feb..5bb4703d 100644
--- a/src/descriptor_identifier/Model/ModelLogRegressor.cpp
+++ b/src/descriptor_identifier/model/ModelLogRegressor.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/Model/ModelLogRegressor.hpp"
+#include "descriptor_identifier/model/ModelLogRegressor.hpp"
 
 ModelLogRegressor::ModelLogRegressor()
 {}
diff --git a/src/descriptor_identifier/Model/ModelLogRegressor.hpp b/src/descriptor_identifier/model/ModelLogRegressor.hpp
similarity index 94%
rename from src/descriptor_identifier/Model/ModelLogRegressor.hpp
rename to src/descriptor_identifier/model/ModelLogRegressor.hpp
index b57965af..8b94934c 100644
--- a/src/descriptor_identifier/Model/ModelLogRegressor.hpp
+++ b/src/descriptor_identifier/model/ModelLogRegressor.hpp
@@ -11,19 +11,18 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-/** @file descriptor_identifier/ModelLogRegressor/ModelLogRegressor.hpp
- * @brief Object to store the models generated form SISSO
- *
- *  Creates a ModelLogRegressor generated from SISSO and the corresponding output file.
- *  It also has functionality to read in an output file to regenerate the model.
+
+/** @file descriptor_identifier/model/ModelLogRegressor.hpp
+ *  @brief Defines a class for the output models from solving a log regression problem
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef MODEL_LOG_REGRESSOR
 #define MODEL_LOG_REGRESSOR
 
-#include "descriptor_identifier/Model/ModelRegressor.hpp"
+#include "descriptor_identifier/model/ModelRegressor.hpp"
 
 #ifdef PY_BINDINGS
     namespace np = boost::python::numpy;
diff --git a/src/descriptor_identifier/Model/ModelRegressor.cpp b/src/descriptor_identifier/model/ModelRegressor.cpp
similarity index 99%
rename from src/descriptor_identifier/Model/ModelRegressor.cpp
rename to src/descriptor_identifier/model/ModelRegressor.cpp
index 0c151af4..a528498a 100644
--- a/src/descriptor_identifier/Model/ModelRegressor.cpp
+++ b/src/descriptor_identifier/model/ModelRegressor.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/Model/ModelRegressor.hpp"
+#include "descriptor_identifier/model/ModelRegressor.hpp"
 
 ModelRegressor::ModelRegressor()
 {}
diff --git a/src/descriptor_identifier/Model/ModelRegressor.hpp b/src/descriptor_identifier/model/ModelRegressor.hpp
similarity index 96%
rename from src/descriptor_identifier/Model/ModelRegressor.hpp
rename to src/descriptor_identifier/model/ModelRegressor.hpp
index 93713be1..753a4c66 100644
--- a/src/descriptor_identifier/Model/ModelRegressor.hpp
+++ b/src/descriptor_identifier/model/ModelRegressor.hpp
@@ -11,19 +11,18 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-/** @file descriptor_identifier/ModelRegressor/ModelRegressor.hpp
- * @brief Object to store the models generated form SISSO
- *
- *  Creates a ModelRegressor generated from SISSO and the corresponding output file.
- *  It also has functionality to read in an output file to regenerate the model.
+
+/** @file descriptor_identifier/model/ModelRegressor.hpp
+ *  @brief Defines a class for the output models from solving a regression problem
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef MODEL_REGRESSOR
 #define MODEL_REGRESSOR
 
-#include "descriptor_identifier/Model/Model.hpp"
+#include "descriptor_identifier/model/Model.hpp"
 
 #ifdef PY_BINDINGS
     namespace np = boost::python::numpy;
diff --git a/src/descriptor_identifier/SISSO_DI/SISSOClassifier.cpp b/src/descriptor_identifier/solver/SISSOClassifier.cpp
similarity index 99%
rename from src/descriptor_identifier/SISSO_DI/SISSOClassifier.cpp
rename to src/descriptor_identifier/solver/SISSOClassifier.cpp
index 437e27ca..68a9e529 100644
--- a/src/descriptor_identifier/SISSO_DI/SISSOClassifier.cpp
+++ b/src/descriptor_identifier/solver/SISSOClassifier.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/SISSO_DI/SISSOClassifier.hpp"
+#include "descriptor_identifier/solver/SISSOClassifier.hpp"
 
 SISSOClassifier::SISSOClassifier(
     const std::shared_ptr<FeatureSpace> feat_space,
@@ -26,7 +26,7 @@ SISSOClassifier::SISSOClassifier(
     const int n_residual,
     const int n_models_store
 ):
-    SISSO_DI(
+    SISSOSolver(
         "classification",
         feat_space,
         prop_label,
diff --git a/src/descriptor_identifier/SISSO_DI/SISSOClassifier.hpp b/src/descriptor_identifier/solver/SISSOClassifier.hpp
similarity index 95%
rename from src/descriptor_identifier/SISSO_DI/SISSOClassifier.hpp
rename to src/descriptor_identifier/solver/SISSOClassifier.hpp
index 0ba5dc5d..c54eb98c 100644
--- a/src/descriptor_identifier/SISSO_DI/SISSOClassifier.hpp
+++ b/src/descriptor_identifier/solver/SISSOClassifier.hpp
@@ -11,21 +11,21 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file descriptor_identifier/SISSOClassifier.hpp
- * @brief Perform SISSO on a previously generated Feature Space
- *
- *  Takes in a feature space and performs SISSO on it while storing the selected features in _models
+ *  @brief Define a class for solving classification problems with SISSO
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef SISSO_CLASSIFIER
 #define SISSO_CLASSIFIER
 
 #include <coin/ClpSimplex.hpp>
 #include "classification/prop_sorted_d_mat.hpp"
-#include "descriptor_identifier/Model/ModelClassifier.hpp"
-#include "descriptor_identifier/SISSO_DI/SISSO_DI.hpp"
+#include "descriptor_identifier/model/ModelClassifier.hpp"
+#include "descriptor_identifier/solver/SISSOSolver.hpp"
 #include "utils/vector_utils.hpp"
 
 #ifdef PY_BINDINGS
@@ -38,7 +38,7 @@
  * @brief SISSO Classifier class, performs the SISSO algorithm and stores all selected models
  *
  */
-class SISSOClassifier: public SISSO_DI
+class SISSOClassifier: public SISSOSolver
 {
 protected:
     std::vector<std::vector<ModelClassifier>> _models; //!< List of models
diff --git a/src/descriptor_identifier/SISSO_DI/SISSOLogRegressor.cpp b/src/descriptor_identifier/solver/SISSOLogRegressor.cpp
similarity index 99%
rename from src/descriptor_identifier/SISSO_DI/SISSOLogRegressor.cpp
rename to src/descriptor_identifier/solver/SISSOLogRegressor.cpp
index d46b45b6..438ff9d3 100644
--- a/src/descriptor_identifier/SISSO_DI/SISSOLogRegressor.cpp
+++ b/src/descriptor_identifier/solver/SISSOLogRegressor.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/SISSO_DI/SISSOLogRegressor.hpp"
+#include "descriptor_identifier/solver/SISSOLogRegressor.hpp"
 
 SISSOLogRegressor::SISSOLogRegressor(
     const std::shared_ptr<FeatureSpace> feat_space,
diff --git a/src/descriptor_identifier/SISSO_DI/SISSOLogRegressor.hpp b/src/descriptor_identifier/solver/SISSOLogRegressor.hpp
similarity index 95%
rename from src/descriptor_identifier/SISSO_DI/SISSOLogRegressor.hpp
rename to src/descriptor_identifier/solver/SISSOLogRegressor.hpp
index 448aae51..6eca36d3 100644
--- a/src/descriptor_identifier/SISSO_DI/SISSOLogRegressor.hpp
+++ b/src/descriptor_identifier/solver/SISSOLogRegressor.hpp
@@ -11,19 +11,19 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file descriptor_identifier/SISSOLogRegressor.hpp
- * @brief Perform SISSO on a previously generated Feature Space
- *
- *  Takes in a feature space and performs SISSO on it while storing the selected features in _models
+ *  @brief Defines a class for solving logarithmic regression problems with SISSO
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef SISSO_LOG_REGRESSOR
 #define SISSO_LOG_REGRESSOR
 
-#include "descriptor_identifier/Model/ModelLogRegressor.hpp"
-#include "descriptor_identifier/SISSO_DI/SISSORegressor.hpp"
+#include "descriptor_identifier/model/ModelLogRegressor.hpp"
+#include "descriptor_identifier/solver/SISSORegressor.hpp"
 
 #ifdef PY_BINDINGS
     namespace np = boost::python::numpy;
diff --git a/src/descriptor_identifier/SISSO_DI/SISSORegressor.cpp b/src/descriptor_identifier/solver/SISSORegressor.cpp
similarity index 99%
rename from src/descriptor_identifier/SISSO_DI/SISSORegressor.cpp
rename to src/descriptor_identifier/solver/SISSORegressor.cpp
index bde3be07..d33d91ff 100644
--- a/src/descriptor_identifier/SISSO_DI/SISSORegressor.cpp
+++ b/src/descriptor_identifier/solver/SISSORegressor.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/SISSO_DI/SISSORegressor.hpp"
+#include "descriptor_identifier/solver/SISSORegressor.hpp"
 
 SISSORegressor::SISSORegressor(
     const std::shared_ptr<FeatureSpace> feat_space,
@@ -27,7 +27,7 @@ SISSORegressor::SISSORegressor(
     const int n_models_store,
     const bool fix_intercept
 ):
-    SISSO_DI(
+    SISSOSolver(
         "regression",
         feat_space,
         prop_label,
diff --git a/src/descriptor_identifier/SISSO_DI/SISSORegressor.hpp b/src/descriptor_identifier/solver/SISSORegressor.hpp
similarity index 94%
rename from src/descriptor_identifier/SISSO_DI/SISSORegressor.hpp
rename to src/descriptor_identifier/solver/SISSORegressor.hpp
index 4a6ce8ee..9ac8edf2 100644
--- a/src/descriptor_identifier/SISSO_DI/SISSORegressor.hpp
+++ b/src/descriptor_identifier/solver/SISSORegressor.hpp
@@ -11,19 +11,19 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file descriptor_identifier/SISSORegressor.hpp
- * @brief Perform SISSO on a previously generated Feature Space
- *
- *  Takes in a feature space and performs SISSO on it while storing the selected features in _models
+ *  @brief Defines a class to solve regression problems with SISSO
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef SISSO_REGRESSOR
 #define SISSO_REGRESSOR
 
-#include "descriptor_identifier/Model/ModelRegressor.hpp"
-#include "descriptor_identifier/SISSO_DI/SISSO_DI.hpp"
+#include "descriptor_identifier/model/ModelRegressor.hpp"
+#include "descriptor_identifier/solver/SISSOSolver.hpp"
 
 #ifdef PY_BINDINGS
     namespace np = boost::python::numpy;
@@ -35,7 +35,7 @@
  * @brief SISSO Regressor class, performs the SISSO algorithm and stores all selected models
  *
  */
-class SISSORegressor: public SISSO_DI
+class SISSORegressor: public SISSOSolver
 {
 private:
     std::vector<std::vector<ModelRegressor>> _models; //!< List of models
diff --git a/src/descriptor_identifier/SISSO_DI/SISSO_DI.cpp b/src/descriptor_identifier/solver/SISSOSolver.cpp
similarity index 95%
rename from src/descriptor_identifier/SISSO_DI/SISSO_DI.cpp
rename to src/descriptor_identifier/solver/SISSOSolver.cpp
index 1f8f4d04..3cbadfca 100644
--- a/src/descriptor_identifier/SISSO_DI/SISSO_DI.cpp
+++ b/src/descriptor_identifier/solver/SISSOSolver.cpp
@@ -11,9 +11,9 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/SISSO_DI/SISSO_DI.hpp"
+#include "descriptor_identifier/solver/SISSOSolver.hpp"
 
-SISSO_DI::SISSO_DI(
+SISSOSolver::SISSOSolver(
     const std::string loss_type,
     const std::shared_ptr<FeatureSpace> feat_space,
     const std::string prop_label,
diff --git a/src/descriptor_identifier/SISSO_DI/SISSO_DI.hpp b/src/descriptor_identifier/solver/SISSOSolver.hpp
similarity index 95%
rename from src/descriptor_identifier/SISSO_DI/SISSO_DI.hpp
rename to src/descriptor_identifier/solver/SISSOSolver.hpp
index a386f338..03e581a5 100644
--- a/src/descriptor_identifier/SISSO_DI/SISSO_DI.hpp
+++ b/src/descriptor_identifier/solver/SISSOSolver.hpp
@@ -11,19 +11,19 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-/** @file descriptor_identifier/SISSO_DI/SISSO_DI.hpp
- * @brief Base class used to perform SISSO on a previously generated Feature Space
- *
- *  Takes in a feature space and performs SISSO on it while storing the selected features in _models
+
+/** @file descriptor_identifier/solver/SISSOSolver.hpp
+ *  @brief Defines the base class for creating solvers using SISSO
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef SISSO_DESCRIPTOR_ID
 #define SISSO_DESCRIPTOR_ID
 
 #include "feature_creation/feature_space/FeatureSpace.hpp"
-#include "descriptor_identifier/Model/Model.hpp"
+#include "descriptor_identifier/model/Model.hpp"
 
 #ifdef PY_BINDINGS
     namespace np = boost::python::numpy;
@@ -35,7 +35,7 @@
  * @brief SISSO Regressor class, performs the SISSO algorithm and stores all selected models
  *
  */
-class SISSO_DI
+class SISSOSolver
 {
 protected:
     const std::vector<int> _task_sizes_train; //!< Number of training samples per task
@@ -73,7 +73,7 @@ public:
      * @param n_models_store The number of models to output to files
      * @param fix_intrecept If true the bias term is fixed at 0
      */
-    SISSO_DI(
+    SISSOSolver(
         const std::string loss_type,
         const std::shared_ptr<FeatureSpace> feat_space,
         const std::string prop_label,
@@ -165,7 +165,7 @@ public:
      * @param n_models_store The number of models to output to files
      * @param fix_intrecept If true the bias term is fixed at 0
      */
-    SISSO_DI(
+    SISSOSolver(
         std::string loss_type,
         std::shared_ptr<FeatureSpace> feat_space,
         std::string prop_label,
@@ -198,7 +198,7 @@ public:
      * @param n_models_store The number of models to output to files
      * @param fix_intrecept If true the bias term is fixed at 0
      */
-    SISSO_DI(
+    SISSOSolver(
         std::string loss_type,
         std::shared_ptr<FeatureSpace> feat_space,
         std::string prop_label,
diff --git a/src/feature_creation/feature_space/FeatureSpace.cpp b/src/feature_creation/feature_space/FeatureSpace.cpp
index 535faf9a..663131c5 100644
--- a/src/feature_creation/feature_space/FeatureSpace.cpp
+++ b/src/feature_creation/feature_space/FeatureSpace.cpp
@@ -897,7 +897,7 @@ void FeatureSpace::generate_feature_space()
 
                     std::vector<node_ptr> to_send(send_sizes[pp]);
                     std::copy_n(next_phi.begin() + total_sent, send_sizes[pp], to_send.begin());
-                    _mpi_comm->send(pp, _mpi_comm->cantorTagGen(_mpi_comm->rank(), pp, 1, 0), to_send);
+                    _mpi_comm->send(pp, _mpi_comm->cantor_tag_gen(_mpi_comm->rank(), pp, 1, 0), to_send);
                     total_sent += send_sizes[pp];
                 }
             }
@@ -932,7 +932,7 @@ void FeatureSpace::generate_feature_space()
                     }
 
                     std::vector<node_ptr> to_recv;
-                    _mpi_comm->recv(pp, _mpi_comm->cantorTagGen(pp, _mpi_comm->rank(), 1, 0), to_recv);
+                    _mpi_comm->recv(pp, _mpi_comm->cantor_tag_gen(pp, _mpi_comm->rank(), 1, 0), to_recv);
                     for(auto& feat : to_recv)
                     {
                         _phi.push_back(feat);
diff --git a/src/feature_creation/feature_space/FeatureSpace.hpp b/src/feature_creation/feature_space/FeatureSpace.hpp
index 6048fa0d..b4dae509 100644
--- a/src/feature_creation/feature_space/FeatureSpace.hpp
+++ b/src/feature_creation/feature_space/FeatureSpace.hpp
@@ -11,12 +11,11 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/feature_space/FeatureSpace.hpp
- * @brief Create a feature space from an initial set of features and algebraic operators
- *
- *  Use an initial set of features and combine them to generate more complicated algebraical features. SIS is also performed here
+ *  @brief Defines the class for creating/operating on a feature space in SISSO
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
 
@@ -30,7 +29,7 @@
 #include "feature_creation/node/utils.hpp"
 
 #include "mpi_interface/MPI_Interface.hpp"
-#include "mpi_interface/MPI_ops.hpp"
+#include "mpi_interface/MPI_Ops.hpp"
 #include "mpi_interface/serialize_tuple.h"
 
 #include "utils/project.hpp"
diff --git a/src/feature_creation/node/FeatureNode.hpp b/src/feature_creation/node/FeatureNode.hpp
index f5cb3e90..b54499e5 100644
--- a/src/feature_creation/node/FeatureNode.hpp
+++ b/src/feature_creation/node/FeatureNode.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/FeatureNode.hpp
- * @brief The class for describing the initial features
- *
- *  This class represents the leaves of all of the binary expression trees.
+ *  @brief Defines the class that represent the primary features in SISSO
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the leaves of all of the binary expression trees.
  */
+
 #ifndef FEATURE_NODE
 #define FEATURE_NODE
 
diff --git a/src/feature_creation/node/ModelNode.hpp b/src/feature_creation/node/ModelNode.hpp
index 212ec263..d335c3ee 100644
--- a/src/feature_creation/node/ModelNode.hpp
+++ b/src/feature_creation/node/ModelNode.hpp
@@ -11,14 +11,17 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/ModelNode.hpp
- * @brief The base class for describing features selected in SISSO Models
- *
- *  This is a standardized feature type for all features selected in SISSO Models. This is created to allow for easier I/O of the models
+ *  @brief Defines the class used to transfer features (Nodes) to the Model objects
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This is the only Node object that does not use the central storage area defined in value_storage/node_value_containers
+ *  All information that is normally calculated recursively is stored here directly.
  */
+
 #ifndef MODEL_NODE
 #define MODEL_NODE
 
diff --git a/src/feature_creation/node/Node.hpp b/src/feature_creation/node/Node.hpp
index cf160dbb..81040648 100644
--- a/src/feature_creation/node/Node.hpp
+++ b/src/feature_creation/node/Node.hpp
@@ -11,16 +11,18 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/Node.hpp
- * @brief The base class for describing features
+ *  @brief Defines the base class for the objects that represent features
+ *
+ *  @author Thomas A. R. Purcell (tpurcell90)
+ *  @bug No known bugs.
  *
  *  This package represents the features in SISSO as a binary expression tree and are accessible from the root node of that tree.
  *  The node class are the vertices of the tree and represent initial features (FeatureNode) and all algebraic operators (OperatorNodes).
- *  The edges are the represented via the _feats member in OperatorNode that store the features the operation acts on.
- *
- *  @author Thomas A. R. Purcell (tpurcell)
- *  @bug No known bugs.
+ *  The edges are the represented via the _feats member in OperatorNode that store the features the operation acts on (its children).
  */
+
 #ifndef NODE
 #define NODE
 
diff --git a/src/feature_creation/node/operator_nodes/OperatorNode.hpp b/src/feature_creation/node/operator_nodes/OperatorNode.hpp
index 2a18036b..08f398a2 100644
--- a/src/feature_creation/node/operator_nodes/OperatorNode.hpp
+++ b/src/feature_creation/node/operator_nodes/OperatorNode.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/OperatorNode.hpp
- * @brief Base class for representing all algebraic operators in the binary expression tree
- *
- *  This class represents the non-leaf verticies in the binary expression tree. This also stores all edges of the graph
+ *  @brief Defines the base class that represent all of the analytical operators in the Binary Expression Tree
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the non-leaf verticies in the binary expression tree. This also stores all edges of the graph through _feats
  */
+
 #ifndef OPERATOR_NODE
 #define OPERATOR_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs/absolute_value.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs/absolute_value.hpp
index 26926db8..e75ab431 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs/absolute_value.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs/absolute_value.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/absolute_value.hpp
- * @brief Class describing the absolute value operator
- *
- *  This class represents the unary operator -> |A|
+ *  @brief Defines a class for the absolute value operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the unary operator -> |A|
  */
+
 #ifndef ABS_VAL_NODE
 #define ABS_VAL_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs/parameterized_absolute_value.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs/parameterized_absolute_value.hpp
index 8ec5026b..44f8c1fd 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs/parameterized_absolute_value.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs/parameterized_absolute_value.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/abs/parameterized_absolute_value.hpp
- * @brief Class describing the parameterized absolute value operator
- *
- *  This class represents the parameterized unary operator -> |alpha * A + a|
+ *  @brief Defines a class for the parameterized version of the absolute value operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> |A + a|
  */
+
 #ifndef PARAM_ABS_VAL_NODE
 #define PARAM_ABS_VAL_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs_diff/absolute_difference.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs_diff/absolute_difference.hpp
index 86533e75..7f64ed0d 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs_diff/absolute_difference.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs_diff/absolute_difference.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/absolute_difference.hpp
- * @brief Class describing the absolute difference operator
- *
- *  This class represents the binary operator -> |A - B|
+ *  @brief Defines a class for the absolute difference operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the binary operator -> |A - B|
  */
+
 #ifndef ABS_DIFF_NODE
 #define ABS_DIFF_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs_diff/parameterized_absolute_difference.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs_diff/parameterized_absolute_difference.hpp
index 40a59179..eedf1ec0 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs_diff/parameterized_absolute_difference.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/abs_diff/parameterized_absolute_difference.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/abs_diff/parameterized_absolute_difference.hpp
- * @brief Class describing the parameterized absolute difference operator
- *
- *  This class represents the parameterized unary operator -> |A - alpha * B + a|
+ *  @brief Defines a class for the parameterized version of the absolute difference operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> |A - alpha * B + a|
  */
+
 #ifndef PARAM_ABS_DIFF_NODE
 #define PARAM_ABS_DIFF_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/add/add.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/add/add.hpp
index 5c521ecd..a19352f6 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/add/add.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/add/add.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/add.hpp
- * @brief Class describing the addition operator
- *
- *  This class represents the binary operator -> A + B
+ *  @brief Defines a class for the addition operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the binary operator -> A + B
  */
+
 #ifndef ADD_NODE
 #define ADD_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/add/parameterized_add.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/add/parameterized_add.hpp
index 27816574..9010d711 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/add/parameterized_add.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/add/parameterized_add.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/add/parameterized_add.hpp
- * @brief Class describing the parameterized addition operator
- *
- *  This class represents the parameterized unary operator -> A + alpha * B + a
+ *  @brief Defines a class for the parameterized version of the addition operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> A + alpha * B
  */
+
 #ifndef PARAM_ADD_NODE
 #define PARAM_ADD_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cb/cube.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cb/cube.hpp
index 1dc050d5..651a8a28 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cb/cube.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cb/cube.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/cube.hpp
- * @brief Class describing the cube operator
- *
- *  This class represents the unary operator -> (A)^3
+ *  @brief Defines a class for the cube operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the unary operator -> (A)^3
  */
+
 #ifndef CB_NODE
 #define CB_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cb/parameterized_cube.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cb/parameterized_cube.hpp
index ea095e25..695354b5 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cb/parameterized_cube.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cb/parameterized_cube.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/cb/parameterized_cube.hpp
- * @brief Class describing the parameterized cube operator
- *
- *  This class represents the parameterized unary operator -> (alpha * A + a)^3
+ *  @brief Defines a class for the parameterized version of the cube operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> (A + a)^3
  */
+
 #ifndef PARAM_CUBE_NODE
 #define PARAM_CUBE_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cbrt/cube_root.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cbrt/cube_root.hpp
index de682256..48d6d1eb 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cbrt/cube_root.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cbrt/cube_root.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/cube_root.hpp
- * @brief Class describing the cube root operator
- *
- *  This class represents the unary operator -> (A)^(1/3)
+ *  @brief Defines a class for the cube root operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the unary operator -> (A)^(1/3)
  */
+
 #ifndef CBRT_NODE
 #define CBRT_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cbrt/parameterized_cube_root.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cbrt/parameterized_cube_root.hpp
index e1dfa283..8eb647ab 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cbrt/parameterized_cube_root.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cbrt/parameterized_cube_root.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/cbrt/parameterized_cube_root.hpp
- * @brief Class describing the parameterized cube root operator
- *
- *  This class represents the parameterized unary operator -> cbrt(alpha * A + a)
+ *  @brief Defines a class for the parameterized version of the cube root operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> cbrt(A + a)
  */
+
 #ifndef PARAM_CBRT_NODE
 #define PARAM_CBRT_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cos/cos.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cos/cos.hpp
index 63a18150..954248f0 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cos/cos.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cos/cos.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/cos.hpp
- * @brief Class describing the cosine operator
- *
- *  This class represents the unary operator -> cos(A)
+ *  @brief Defines a class for the cosine operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the unary operator -> cos(A)
  */
+
 #ifndef COS_NODE
 #define COS_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cos/parameterized_cos.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cos/parameterized_cos.hpp
index aa5fe2b0..f6a5795a 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cos/parameterized_cos.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/cos/parameterized_cos.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/cos/parameterized_cos.hpp
- * @brief Class describing the parameterized cos operator
- *
- *  This class represents the parameterized unary operator -> cos(alpha * A + a)
+ *  @brief Defines a class for the parameterized version of the cosine operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> cos(alpha * A + a)
  */
+
 #ifndef PARAM_COS_NODE
 #define PARAM_COS_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/div/divide.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/div/divide.hpp
index 7d819ba1..cd41e0d6 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/div/divide.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/div/divide.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/divide.hpp
- * @brief Class describing the division operator
- *
- *  This class represents the binary operator -> A / B
+ *  @brief Defines a class for the division operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the binary operator -> A / B
  */
+
 #ifndef DIV_NODE
 #define DIV_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/div/parameterized_divide.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/div/parameterized_divide.hpp
index 3953d922..728b31f6 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/div/parameterized_divide.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/div/parameterized_divide.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/div/parameterized_divide.hpp
- * @brief Class describing the parameterized addition operator
- *
- *  This class represents the parameterized unary operator -> A / (alpha * B + a)
+ *  @brief Defines a class for the parameterized version of the division operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> A / (B + a)
  */
+
 #ifndef PARAM_DIV_NODE
 #define PARAM_DIV_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/exp/exponential.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/exp/exponential.hpp
index d0041b89..ffe0eb25 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/exp/exponential.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/exp/exponential.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/exponential.hpp
- * @brief Class describing the exponential operator
- *
- *  This class represents the unary operator -> exp(A)
+ *  @brief Defines a class for the exponential operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the unary operator -> exp(A)
  */
+
 #ifndef EXP_NODE
 #define EXP_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/exp/parameterized_exponential.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/exp/parameterized_exponential.hpp
index f0f97602..f1afbb19 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/exp/parameterized_exponential.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/exp/parameterized_exponential.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/exp/parameterized_exponetial.hpp
- * @brief Class describing the parameterized exp operator
- *
- *  This class represents the parameterized unary operator -> exp(alpha * A + a)
+ *  @brief Defines a class for the parameterized version of the exponential operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> exp(alpha * A)
  */
+
 #ifndef PARAM_EXP_NODE
 #define PARAM_EXP_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/inv/inverse.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/inv/inverse.hpp
index 6ad2945d..67008e79 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/inv/inverse.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/inv/inverse.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/inverse.hpp
- * @brief Class describing the logarithm operator
- *
- *  This class represents the unary operator -> 1 / A
+ *  @brief Defines a class for the logarithm operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the unary operator -> 1 / A
  */
+
 #ifndef INV_NODE
 #define INV_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/inv/parameterized_inverse.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/inv/parameterized_inverse.hpp
index 1d56bf4b..4b74a939 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/inv/parameterized_inverse.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/inv/parameterized_inverse.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/inv/parameterized_inverse.hpp
- * @brief Class describing the parameterized inverse operator
- *
- *  This class represents the parameterized unary operator -> 1.0 / (alpha * A + a)
+ *  @brief Defines a class for the parameterized version of the inverse operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> 1.0 / (A + a)
  */
+
 #ifndef PARAM_INV_NODE
 #define PARAM_INV_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/log/log.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/log/log.hpp
index 76a066bb..fe13c6de 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/log/log.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/log/log.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/log.hpp
- * @brief Class describing the logarithm operator
- *
- *  This class represents the unary operator -> log(A)
+ *  @brief Defines a class for the logarithm operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the unary operator -> log(A)
  */
+
 #ifndef LOG_NODE
 #define LOG_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/log/parameterized_log.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/log/parameterized_log.hpp
index ee77b803..45cc0444 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/log/parameterized_log.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/log/parameterized_log.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/log/parameterized_log.hpp
- * @brief Class describing the parameterized log operator
- *
- *  This class represents the parameterized unary operator -> log(alpha * A + a)
+ *  @brief Defines a class for the parameterized version of the logarithm operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> log(A + a)
  */
+
 #ifndef PARAM_LOG_NODE
 #define PARAM_LOG_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/mult/multiply.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/mult/multiply.hpp
index a9d4592f..07db01bc 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/mult/multiply.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/mult/multiply.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/multiply.hpp
- * @brief Class describing the multiplication operator
- *
- *  This class represents the binary operator -> A * B
+ *  @brief Defines a class for the multiplication operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the binary operator -> A * B
  */
+
 #ifndef MULT_NODE
 #define MULT_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/mult/parameterized_multiply.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/mult/parameterized_multiply.hpp
index 11013499..87ed744e 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/mult/parameterized_multiply.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/mult/parameterized_multiply.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/div/parameterized_multiply.hpp
- * @brief Class describing the parameterized addition operator
- *
- *  This class represents the parameterized unary operator -> A * (alpha * B + a)
+ *  @brief Defines a class for the parameterized version of the multiplication operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> A * (B + a)
  */
+
 #ifndef PARAM_MULT_NODE
 #define PARAM_MULT_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/neg_exp/negative_exponential.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/neg_exp/negative_exponential.hpp
index 0abea081..a61f3a3b 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/neg_exp/negative_exponential.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/neg_exp/negative_exponential.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/negative_exponential.hpp
- * @brief Class describing the negative exponential operator
- *
- *  This class represents the unary operator -> exp(-1 * A)
+ *  @brief Defines a class for the negative exponential operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the unary operator -> exp(-1 * A)
  */
+
 #ifndef NEG_EXP_NODE
 #define NEG_EXP_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/neg_exp/parameterized_negative_exponential.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/neg_exp/parameterized_negative_exponential.hpp
index 830a4956..3c03a89f 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/neg_exp/parameterized_negative_exponential.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/neg_exp/parameterized_negative_exponential.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/neg_exp/parameterized_negative_exponetial.hpp
- * @brief Class describing the parameterized neg_exp operator
- *
- *  This class represents the parameterized unary operator -> exp(-alpha * A + a)
+ *  @brief Defines a class for the parameterized version of the negative exponential operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> exp(-alpha * A)
  */
+
 #ifndef PARAM_NEG_EXP_NODE
 #define PARAM_NEG_EXP_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sin/parameterized_sin.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sin/parameterized_sin.hpp
index b2558cba..5d57c2d3 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sin/parameterized_sin.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sin/parameterized_sin.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/sin/parameterized_sin.hpp
- * @brief Class describing the parameterized sin operator
- *
- *  This class represents the parameterized unary operator -> sin(alpha * A + a)
+ *  @brief Defines a class for the parameterized version of the sine operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> sin(alpha * A + a)
  */
+
 #ifndef PARAM_SIN_NODE
 #define PARAM_SIN_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sin/sin.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sin/sin.hpp
index f790fd55..bad70a78 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sin/sin.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sin/sin.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/sin.hpp
- * @brief Class describing the sine operator
+ *  @brief Defines a class for the sine operator
  *
  *  This class represents the unary operator -> sin(A)
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef SIN_NODE
 #define SIN_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/six_pow/parameterized_sixth_power.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/six_pow/parameterized_sixth_power.hpp
index 94228b00..1e65bf59 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/six_pow/parameterized_sixth_power.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/six_pow/parameterized_sixth_power.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/six_pow/parameterized_sixth_pow.hpp
- * @brief Class describing the parameterized sixth power operator
- *
- *  This class represents the parameterized unary operator -> (alpha * A + a)^6
+ *  @brief Defines a class for the parameterized version of the sixth power operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> (A + a)^6
  */
+
 #ifndef PARAM_SIX_POW_NODE
 #define PARAM_SIX_POW_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/six_pow/sixth_power.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/six_pow/sixth_power.hpp
index c0d85f62..174fb760 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/six_pow/sixth_power.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/six_pow/sixth_power.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/sixth_power.hpp
- * @brief Class describing the sixth power operator
- *
- *  This class represents the unary operator -> (A)^6
+ *  @brief Defines a class for the sixth power operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the unary operator -> (A)^6
  */
+
 #ifndef SIXTH_POW_NODE
 #define SIXTH_POW_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sq/parameterized_square.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sq/parameterized_square.hpp
index ee609023..cd0bd01b 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sq/parameterized_square.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sq/parameterized_square.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/sq/parameterized_square.hpp
- * @brief Class describing the parameterized square operator
- *
- *  This class represents the parameterized unary operator -> (alpha * A + a)^2
+ *  @brief Defines a class for the parameterized version of square operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> (A + a)^2
  */
+
 #ifndef PARAM_SQ_NODE
 #define PARAM_SQ_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sq/square.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sq/square.hpp
index 011bea6f..a1ef0cbf 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sq/square.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sq/square.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/square.hpp
- * @brief Class describing the square operator
- *
- *  This class represents the unary operator -> (A)^2
+ *  @brief Defines a class for the square operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the unary operator -> (A)^2
  */
+
 #ifndef SQ_NODE
 #define SQ_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sqrt/parameterized_square_root.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sqrt/parameterized_square_root.hpp
index 429bdc24..e5563c3a 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sqrt/parameterized_square_root.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sqrt/parameterized_square_root.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/sqrt/parameterized_square_root.hpp
- * @brief Class describing the parameterized square root operator
- *
- *  This class represents the parameterized unary operator -> sqrt(alpha * A + a)
+ *  @brief Defines a class for the parameterized version of square root operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> sqrt(alpha * A + a)
  */
+
 #ifndef PARAM_SQRT_NODE
 #define PARAM_SQRT_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sqrt/square_root.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sqrt/square_root.hpp
index 10a747e3..e39d82a0 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sqrt/square_root.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sqrt/square_root.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/square_root.hpp
- * @brief Class describing the square root operator
- *
- *  This class represents the unary operator -> (A)^(1/2)
+ *  @brief Defines a class for the square root operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the unary operator -> (A)^(1/2)
  */
+
 #ifndef SQRT_NODE
 #define SQRT_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sub/parameterized_subtract.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sub/parameterized_subtract.hpp
index 216cbac1..778bdbbe 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sub/parameterized_subtract.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sub/parameterized_subtract.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/sub/parameterized_subtract.hpp
- * @brief Class describing the parameterized addition operator
- *
- *  This class represents the parameterized unary operator -> A - (alpha * B + a)
+ *  @briefDefines a class for the parameterized version of subtraction operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the parameterized unary operator -> A - (alpha * B)
  */
+
 #ifndef PARAM_SUB_NODE
 #define PARAM_SUB_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sub/subtract.hpp b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sub/subtract.hpp
index 90315e04..1e2e6f56 100644
--- a/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sub/subtract.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_operator_nodes/sub/subtract.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_operator_nodes/subtract.hpp
- * @brief Class describing the subtraction operator
- *
- *  This class represents the binary operator -> A - B
+ *  @brief Defines a class for the subtraction operator
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class represents the binary operator -> A - B
  */
+
 #ifndef SUB_NODE
 #define SUB_NODE
 
diff --git a/src/feature_creation/node/operator_nodes/allowed_ops.hpp b/src/feature_creation/node/operator_nodes/allowed_ops.hpp
index fab3fff6..23dc26ce 100644
--- a/src/feature_creation/node/operator_nodes/allowed_ops.hpp
+++ b/src/feature_creation/node/operator_nodes/allowed_ops.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/allowed_ops.hpp
- * @brief Definition of the map that converts the string representation of an operation to the correct OperatorNode constructor
+ *  @brief Defines the map that converts std::string descriptions of the operators into their generator functions
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef ALLOWED_OP_NODES
 #define ALLOWED_OP_NODES
 
diff --git a/src/feature_creation/node/operator_nodes/functions.hpp b/src/feature_creation/node/operator_nodes/functions.hpp
index 46a55d40..3e0bfed1 100644
--- a/src/feature_creation/node/operator_nodes/functions.hpp
+++ b/src/feature_creation/node/operator_nodes/functions.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/operator_nodes/functions.hpp
- * @brief Definition of all allowed functions OperatorNodes can have
+ *  @brief Defines all functions used to calculate the data for the features
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef OP_FUNCTIONS
 #define OP_FUNCTIONS
 
diff --git a/src/feature_creation/node/utils.hpp b/src/feature_creation/node/utils.hpp
index 032b5652..4e49ba34 100644
--- a/src/feature_creation/node/utils.hpp
+++ b/src/feature_creation/node/utils.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/utils.hpp
- * @brief utility functions to build node_ptrs from strings
+ *  @brief Defines utility functions for handling Features (Nodes)
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef NODE_UTILS
 #define NODE_UTILS
 
diff --git a/src/feature_creation/node/value_storage/nodes_value_containers.hpp b/src/feature_creation/node/value_storage/nodes_value_containers.hpp
index 31a3b990..3506984e 100644
--- a/src/feature_creation/node/value_storage/nodes_value_containers.hpp
+++ b/src/feature_creation/node/value_storage/nodes_value_containers.hpp
@@ -11,15 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/node/value_storage/node_value_containers.hpp
- * @brief Centeral storage area for all descriptor matrix data
- *
- *  This file contains definitions where all descriptor/feature data is stored permanently or in temporary storage arrays
- *  All Nodes's (except ModelNodes) value_ptr/test_value_ptrs point to data here.
+ *  @brief Creates a central storage area for the feature's input data and the descriptor matrix
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef NODE_VALUE_ARR
 #define NODE_VALUE_ARR
 
diff --git a/src/feature_creation/units/Unit.hpp b/src/feature_creation/units/Unit.hpp
index bae27a85..def44f48 100644
--- a/src/feature_creation/units/Unit.hpp
+++ b/src/feature_creation/units/Unit.hpp
@@ -11,13 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/unit/Unit.hpp
- * @brief A representation of the units for each feature
- *
- *  A dictionary representation of the unit for a features (key = unit, value = power)
+ *  @brief Defines a class that represents Units of of the features
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  A dictionary representation of the unit for a features (key = unit, value = power)
  */
 
 #ifndef UNIT
diff --git a/src/inputs/InputParser.cpp b/src/inputs/InputParser.cpp
index 4d894742..de383519 100644
--- a/src/inputs/InputParser.cpp
+++ b/src/inputs/InputParser.cpp
@@ -13,31 +13,31 @@
 // limitations under the License.
 #include "inputs/InputParser.hpp"
 
-InputParser::InputParser(pt::ptree IP, std::string fn, std::shared_ptr<MPI_Interface> comm) :
-    _opset(as_vector<std::string>(IP, "opset")),
-    _param_opset(as_vector<std::string>(IP, "param_opset")),
+InputParser::InputParser(pt::ptree ip, std::string fn, std::shared_ptr<MPI_Interface> comm) :
+    _opset(as_vector<std::string>(ip, "opset")),
+    _param_opset(as_vector<std::string>(ip, "param_opset")),
     _filename(fn),
-    _data_file(IP.get<std::string>("data_file", "data.csv")),
-    _prop_key(IP.get<std::string>("property_key", "prop")),
-    _task_key(IP.get<std::string>("task_key", "Task")),
-    _calc_type(IP.get<std::string>("calc_type", "regression")),
-    _leave_out_inds(as_vector<int>(IP, "leave_out_inds")),
-    _cross_cor_max(IP.get<double>("max_feat_cross_correlation", 1.0)),
-    _l_bound(IP.get<double>("min_abs_feat_val", 1e-50)),
-    _u_bound(IP.get<double>("max_abs_feat_val", 1e50)),
-    _n_dim(IP.get<int>("desc_dim")),
-    _n_sis_select(IP.get<int>("n_sis_select")),
-    _max_rung(IP.get<int>("max_rung")),
-    _n_rung_store(IP.get<int>("n_rung_store", _max_rung - 1)),
-    _n_rung_generate(IP.get<int>("n_rung_generate", 0)),
+    _data_file(ip.get<std::string>("data_file", "data.csv")),
+    _prop_key(ip.get<std::string>("property_key", "prop")),
+    _task_key(ip.get<std::string>("task_key", "Task")),
+    _calc_type(ip.get<std::string>("calc_type", "regression")),
+    _leave_out_inds(as_vector<int>(ip, "leave_out_inds")),
+    _cross_cor_max(ip.get<double>("max_feat_cross_correlation", 1.0)),
+    _l_bound(ip.get<double>("min_abs_feat_val", 1e-50)),
+    _u_bound(ip.get<double>("max_abs_feat_val", 1e50)),
+    _n_dim(ip.get<int>("desc_dim")),
+    _n_sis_select(ip.get<int>("n_sis_select")),
+    _max_rung(ip.get<int>("max_rung")),
+    _n_rung_store(ip.get<int>("n_rung_store", _max_rung - 1)),
+    _n_rung_generate(ip.get<int>("n_rung_generate", 0)),
     _n_samp(0),
-    _n_residuals(IP.get<int>("n_residual", 1)),
-    _n_models_store(IP.get<int>("n_models_store", _n_residuals)),
-    _max_param_depth(IP.get<int>("max_feat_param_depth", _max_rung)),
-    _nlopt_seed(IP.get<int>("nlopt_seed", 42)),
-    _fix_intercept(IP.get<bool>("fix_intercept", false)),
-    _global_param_opt(IP.get<bool>("global_param_opt", false)),
-    _reparam_residual(IP.get<bool>("reparam_residual", false))
+    _n_residuals(ip.get<int>("n_residual", 1)),
+    _n_models_store(ip.get<int>("n_models_store", _n_residuals)),
+    _max_param_depth(ip.get<int>("max_feat_param_depth", _max_rung)),
+    _nlopt_seed(ip.get<int>("nlopt_seed", 42)),
+    _fix_intercept(ip.get<bool>("fix_intercept", false)),
+    _global_param_opt(ip.get<bool>("global_param_opt", false)),
+    _reparam_residual(ip.get<bool>("reparam_residual", false))
 {
     // Check if param ops are passed without being build with parameterized features
     #ifndef PARAMETERIZE
@@ -131,7 +131,7 @@ InputParser::InputParser(pt::ptree IP, std::string fn, std::shared_ptr<MPI_Inter
     }
 
     // Make the train-test split
-    double leave_out_frac = IP.get<double>("leave_out_frac", static_cast<double>(IP.get<int>("n_leave_out", 0)) / static_cast<double>(_n_samp) );
+    double leave_out_frac = ip.get<double>("leave_out_frac", static_cast<double>(ip.get<int>("n_leave_out", 0)) / static_cast<double>(_n_samp) );
     if((_leave_out_inds.size() == 0) && leave_out_frac > 0.0)
     {
         // If only fraction given create a test set  that pull equally from all tasks
@@ -442,7 +442,7 @@ void InputParser::generate_feature_space(
     #endif
 }
 
-void stripComments(std::string& filename)
+void strip_comments(std::string& filename)
 {
     //Open input and output file
     std::string newfn = "stripped_" + filename;
diff --git a/src/inputs/InputParser.hpp b/src/inputs/InputParser.hpp
index f24f0808..5eacc33e 100644
--- a/src/inputs/InputParser.hpp
+++ b/src/inputs/InputParser.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file inputs/InputParser.hpp
- * @brief Define the class that parses the input file
- *
- *  This class parses and stores the parameters in the input file
+ *  @brief Define the class that parses the input file
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class parses and stores the parameters in the input file
  */
+
 #ifndef SISSO_INPUTS
 #define SISSO_INPUTS
 
@@ -92,7 +94,7 @@ public:
      * @param fn filename for the input file
      * @param comm MPI communicator for the calculation
      */
-    InputParser(pt::ptree IP, std::string fn, std::shared_ptr<MPI_Interface> comm);
+    InputParser(pt::ptree ip, std::string fn, std::shared_ptr<MPI_Interface> comm);
 
     /**
      * @brief The generated FeatureSpace
@@ -121,7 +123,7 @@ public:
  *
  * @param      filename  The filename of the file to strip
  */
-void stripComments(std::string& filename);
+void strip_comments(std::string& filename);
 
 /**
  * @brief      boost json to std::vector<T>
diff --git a/src/loss_function/LossFunction.hpp b/src/loss_function/LossFunction.hpp
index 13f0a403..71c21931 100644
--- a/src/loss_function/LossFunction.hpp
+++ b/src/loss_function/LossFunction.hpp
@@ -11,10 +11,11 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file loss_function/LossFunction.hpp
- * @brief A class used to calculate the projection score and l0-regularization error
+ *  @brief Defines a base class used to calculate the projection score and l0-regularization objective function
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
 
diff --git a/src/loss_function/LossFunctionConvexHull.hpp b/src/loss_function/LossFunctionConvexHull.hpp
index 061acfe6..88d663e4 100644
--- a/src/loss_function/LossFunctionConvexHull.hpp
+++ b/src/loss_function/LossFunctionConvexHull.hpp
@@ -11,10 +11,11 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file loss_function/LossFunctionConvexHull.hpp
- * @brief A class used to calculate the projection score and l0-regularization error
+ *  @brief Defines the class that uses a convex hull projection operator and a convex hull based objective function
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
 
diff --git a/src/loss_function/LossFunctionLogPearsonRMSE.hpp b/src/loss_function/LossFunctionLogPearsonRMSE.hpp
index 1d1d6f4c..9db2a99e 100644
--- a/src/loss_function/LossFunctionLogPearsonRMSE.hpp
+++ b/src/loss_function/LossFunctionLogPearsonRMSE.hpp
@@ -11,10 +11,11 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file loss_function/LossFunctionLogPearsonRMSE.hpp
- * @brief A class used to calculate the projection score and l0-regularization error
+ *  @brief Defines the class that uses a logarithmic Pearson correlation projection operator and a logarithmic least-squares regression objective function
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
 
diff --git a/src/loss_function/LossFunctionPearsonRMSE.hpp b/src/loss_function/LossFunctionPearsonRMSE.hpp
index dc35023c..40eb51ea 100644
--- a/src/loss_function/LossFunctionPearsonRMSE.hpp
+++ b/src/loss_function/LossFunctionPearsonRMSE.hpp
@@ -11,10 +11,11 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file loss_function/LossFunctionPearsonRMSE.hpp
- * @brief A class used to calculate the projection score and l0-regularization error
+ *  @brief Defines the class that uses a Pearson correlation projection operator and a least-squares regression objective function
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
 
diff --git a/src/loss_function/utils.hpp b/src/loss_function/utils.hpp
index 80da1d57..486d8c24 100644
--- a/src/loss_function/utils.hpp
+++ b/src/loss_function/utils.hpp
@@ -11,10 +11,11 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file loss_function/utils.hpp
- * @brief utilities for generating loss_functions
+ *  @brief Defines utilities for generating and copying LossFunctions
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
 
diff --git a/src/main.cpp b/src/main.cpp
index ec10b6dc..2152f897 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -12,8 +12,8 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 #include "inputs/InputParser.hpp"
-#include "descriptor_identifier/SISSO_DI/SISSOLogRegressor.hpp"
-#include "descriptor_identifier/SISSO_DI/SISSOClassifier.hpp"
+#include "descriptor_identifier/solver/SISSOLogRegressor.hpp"
+#include "descriptor_identifier/solver/SISSOClassifier.hpp"
 
 int main(int argc, char const *argv[])
 {
@@ -36,7 +36,7 @@ int main(int argc, char const *argv[])
 
     if(mpi_setup::comm->rank() == 0)
     {
-        stripComments(filename);
+        strip_comments(filename);
     }
     else
     {
@@ -49,7 +49,7 @@ int main(int argc, char const *argv[])
     boost::property_tree::json_parser::read_json(filename,propTree);
     double start = omp_get_wtime();
 
-    InputParser IP(propTree, filename, mpi_setup::comm);
+    InputParser ip(propTree, filename, mpi_setup::comm);
     if(mpi_setup::comm->rank() == 0)
     {
         boost::filesystem::remove(filename);
@@ -62,19 +62,19 @@ int main(int argc, char const *argv[])
     }
 
     node_value_arrs::initialize_d_matrix_arr();
-    if(IP._calc_type.compare("regression") == 0)
+    if(ip._calc_type.compare("regression") == 0)
     {
-        SISSORegressor sisso(IP._feat_space, IP._prop_label, IP._prop_unit, IP._prop_train, IP._prop_test, IP._task_sizes_train, IP._task_sizes_test, IP._leave_out_inds, IP._n_dim, IP._n_residuals, IP._n_models_store, IP._fix_intercept);
+        SISSORegressor sisso(ip._feat_space, ip._prop_label, ip._prop_unit, ip._prop_train, ip._prop_test, ip._task_sizes_train, ip._task_sizes_test, ip._leave_out_inds, ip._n_dim, ip._n_residuals, ip._n_models_store, ip._fix_intercept);
         sisso.fit();
 
         if(mpi_setup::comm->rank() == 0)
         {
             for(int ii = 0; ii < sisso.models().size(); ++ii)
             {
-                std::cout << "Train RMSE: " << sisso.models()[ii][0].rmse() << " " << IP._prop_unit;
-                if(IP._prop_test.size() > 0)
+                std::cout << "Train RMSE: " << sisso.models()[ii][0].rmse() << " " << ip._prop_unit;
+                if(ip._prop_test.size() > 0)
                 {
-                    std::cout << "; Test RMSE: " << sisso.models()[ii][0].test_rmse() << " " << IP._prop_unit << std::endl;
+                    std::cout << "; Test RMSE: " << sisso.models()[ii][0].test_rmse() << " " << ip._prop_unit << std::endl;
                 }
                 else
                 {
@@ -84,9 +84,9 @@ int main(int argc, char const *argv[])
             }
         }
     }
-    else if(IP._calc_type.compare("log_regression") == 0)
+    else if(ip._calc_type.compare("log_regression") == 0)
     {
-        SISSOLogRegressor sisso(IP._feat_space, IP._prop_label, IP._prop_unit, IP._prop_train, IP._prop_test, IP._task_sizes_train, IP._task_sizes_test, IP._leave_out_inds, IP._n_dim, IP._n_residuals, IP._n_models_store, IP._fix_intercept);
+        SISSOLogRegressor sisso(ip._feat_space, ip._prop_label, ip._prop_unit, ip._prop_train, ip._prop_test, ip._task_sizes_train, ip._task_sizes_test, ip._leave_out_inds, ip._n_dim, ip._n_residuals, ip._n_models_store, ip._fix_intercept);
         sisso.fit();
 
         if(mpi_setup::comm->rank() == 0)
@@ -94,7 +94,7 @@ int main(int argc, char const *argv[])
             for(int ii = 0; ii < sisso.models().size(); ++ii)
             {
                 std::cout << "Train RMSE: " << sisso.models()[ii][0].rmse();
-                if(IP._prop_test.size() > 0)
+                if(ip._prop_test.size() > 0)
                 {
                     std::cout << "; Test RMSE: " << sisso.models()[ii][0].test_rmse() << std::endl;
                 }
@@ -106,9 +106,9 @@ int main(int argc, char const *argv[])
             }
         }
     }
-    else if(IP._calc_type.compare("classification") == 0)
+    else if(ip._calc_type.compare("classification") == 0)
     {
-        SISSOClassifier sisso(IP._feat_space, IP._prop_label, IP._prop_unit, IP._prop_train, IP._prop_test, IP._task_sizes_train, IP._task_sizes_test, IP._leave_out_inds, IP._n_dim, IP._n_residuals, IP._n_models_store);
+        SISSOClassifier sisso(ip._feat_space, ip._prop_label, ip._prop_unit, ip._prop_train, ip._prop_test, ip._task_sizes_train, ip._task_sizes_test, ip._leave_out_inds, ip._n_dim, ip._n_residuals, ip._n_models_store);
         sisso.fit();
 
         if(mpi_setup::comm->rank() == 0)
@@ -116,7 +116,7 @@ int main(int argc, char const *argv[])
             for(int ii = 0; ii < sisso.models().size(); ++ii)
             {
                 std::cout << "Percent of training data misclassified: " << sisso.models()[ii][0].percent_train_error() << "%";
-                if(IP._prop_test.size() > 0)
+                if(ip._prop_test.size() > 0)
                 {
                     std::cout << "; Percent of test data misclassified: " << sisso.models()[ii][0].percent_test_error() << "%" << std::endl;
                 }
diff --git a/src/mpi_interface/MPI_Interface.hpp b/src/mpi_interface/MPI_Interface.hpp
index 9f607f1a..00046efd 100644
--- a/src/mpi_interface/MPI_Interface.hpp
+++ b/src/mpi_interface/MPI_Interface.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file mpi_interface/MPI_Interface.hpp
- * @brief Define MPI interface for the calculation
- *
- *  This class modifies the boost mpi::communicator for easier communication
+ *  @brief Define MPI interface for the calculations
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This class modifies the boost mpi::communicator for easier communication
  */
+
 #ifndef SISSO_MPI_INTERFACE
 #define SISSO_MPI_INTERFACE
 
@@ -50,7 +52,7 @@ public:
      *
      * @return     A unique tag to send information between two processes
      */
-    int cantorTagGen(const unsigned int procSend, const unsigned int procRecv, const unsigned int maxOffest, const unsigned int offest)
+    int cantor_tag_gen(const unsigned int procSend, const unsigned int procRecv, const unsigned int maxOffest, const unsigned int offest)
     {
         return (int((procSend + procRecv) * (procSend + procSend +1) / 2) + procRecv) * maxOffest + offest;
     }
diff --git a/src/mpi_interface/MPI_ops.cpp b/src/mpi_interface/MPI_Ops.cpp
similarity index 98%
rename from src/mpi_interface/MPI_ops.cpp
rename to src/mpi_interface/MPI_Ops.cpp
index 8793425e..cdb20899 100644
--- a/src/mpi_interface/MPI_ops.cpp
+++ b/src/mpi_interface/MPI_Ops.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "mpi_interface/MPI_ops.hpp"
+#include "mpi_interface/MPI_Ops.hpp"
 
 // MPI_Op top_feats;
 std::function<bool(const double*, const int, const double, const std::vector<node_sc_pair>&, const double)> mpi_reduce_op::IS_VALID;
diff --git a/src/mpi_interface/MPI_ops.hpp b/src/mpi_interface/MPI_Ops.hpp
similarity index 95%
rename from src/mpi_interface/MPI_ops.hpp
rename to src/mpi_interface/MPI_Ops.hpp
index d5fd50b4..f0026b94 100644
--- a/src/mpi_interface/MPI_ops.hpp
+++ b/src/mpi_interface/MPI_Ops.hpp
@@ -11,14 +11,16 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file mpi_interface/MPI_Ops.hpp
- * @brief Define MPI reduce all operator to facilitate a distributed sorting algorithm
- *
- *  This is based off of a project from Meisam Farzalipour Tabriz at the MPCDF (mpi_topk)
+ *  @brief Define MPI reduce all operator to facilitate a distributed sorting algorithm
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
+ *
+ *  This is based off of a project from Meisam Farzalipour Tabriz at the MPCDF (mpi_topk)
  */
+
 #ifndef SISSO_MPI_OPS
 #define SISSO_MPI_OPS
 
diff --git a/src/nl_opt/NLOptWrapper.hpp b/src/nl_opt/NLOptWrapper.hpp
index 8a99a773..bf4aceb1 100644
--- a/src/nl_opt/NLOptWrapper.hpp
+++ b/src/nl_opt/NLOptWrapper.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file feature_creation/parameterization/NLOptWrapper.hpp
- * @brief Wrapper and functions to use libnlopt to find parameterizations for features
+ *  @brief Defines a wrapper for NLopt library functions and functions for using the library
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef NL_OPT_WRAPPER
 #define NL_OPT_WRAPPER
 
diff --git a/src/python/py_binding_cpp_def/bindings_docstring_keyed.cpp b/src/python/py_binding_cpp_def/bindings_docstring_keyed.cpp
index f65a77a8..ab9125e9 100644
--- a/src/python/py_binding_cpp_def/bindings_docstring_keyed.cpp
+++ b/src/python/py_binding_cpp_def/bindings_docstring_keyed.cpp
@@ -21,7 +21,7 @@ void sisso::register_all()
     sisso::descriptor_identifier::registerModelRegressor();
     sisso::descriptor_identifier::registerModelLogRegressor();
     sisso::descriptor_identifier::registerModelClassifier();
-    sisso::descriptor_identifier::registerSISSO_DI();
+    sisso::descriptor_identifier::registerSISSOSolver();
     sisso::descriptor_identifier::registerSISSORegressor();
     sisso::descriptor_identifier::registerSISSOLogRegressor();
     sisso::descriptor_identifier::registerSISSOClassifier();
@@ -1331,24 +1331,24 @@ void sisso::descriptor_identifier::registerModelClassifier()
     ;
 }
 
-void sisso::descriptor_identifier::registerSISSO_DI()
+void sisso::descriptor_identifier::registerSISSOSolver()
 {
-    class_<sisso::descriptor_identifier::SISSO_DI_Wrap, boost::noncopyable>("SISSO_DI", no_init)
-        .add_property("prop", &SISSO_DI::prop_py, "@DocString_sisso_di_prop_py@")
-        .add_property("prop_test", &SISSO_DI::prop_test_py, "@DocString_sisso_di_prop_test_py@")
-        .add_property("n_samp", &SISSO_DI::n_samp, "@DocString_sisso_di_n_samp@")
-        .add_property("n_dim", &SISSO_DI::n_dim, "@DocString_sisso_di_n_dim@")
-        .add_property("n_residual", &SISSO_DI::n_residual, "@DocString_sisso_di_n_residual@")
-        .add_property("n_models_store", &SISSO_DI::n_models_store, "@DocString_sisso_di_n_models_store@")
-        .add_property("feat_space", &SISSO_DI::feat_space, "@DocString_sisso_di_feat_space@")
-        .add_property("task_sizes_train", &SISSO_DI::task_sizes_train, "@DocString_sisso_di_task_sizes_train@")
-        .add_property("task_sizes_test", &SISSO_DI::task_sizes_test, "@DocString_sisso_di_task_sizes_test@")
+    class_<sisso::descriptor_identifier::SISSOSolver_Wrap, boost::noncopyable>("SISSOSolver", no_init)
+        .add_property("prop", &SISSOSolver::prop_py, "@DocString_sisso_di_prop_py@")
+        .add_property("prop_test", &SISSOSolver::prop_test_py, "@DocString_sisso_di_prop_test_py@")
+        .add_property("n_samp", &SISSOSolver::n_samp, "@DocString_sisso_di_n_samp@")
+        .add_property("n_dim", &SISSOSolver::n_dim, "@DocString_sisso_di_n_dim@")
+        .add_property("n_residual", &SISSOSolver::n_residual, "@DocString_sisso_di_n_residual@")
+        .add_property("n_models_store", &SISSOSolver::n_models_store, "@DocString_sisso_di_n_models_store@")
+        .add_property("feat_space", &SISSOSolver::feat_space, "@DocString_sisso_di_feat_space@")
+        .add_property("task_sizes_train", &SISSOSolver::task_sizes_train, "@DocString_sisso_di_task_sizes_train@")
+        .add_property("task_sizes_test", &SISSOSolver::task_sizes_test, "@DocString_sisso_di_task_sizes_test@")
     ;
 }
 
 void sisso::descriptor_identifier::registerSISSORegressor()
 {
-    class_<SISSORegressor, bases<SISSO_DI>>(
+    class_<SISSORegressor, bases<SISSOSolver>>(
         "SISSORegressor",
         init<std::shared_ptr<FeatureSpace>, std::string, Unit, np::ndarray, np::ndarray, py::list, py::list, py::list, int, int, int, optional<bool>>(
             (arg("self"), arg("feat_space"), arg("prop_label"), arg("prop_unit"), arg("prop"), arg("prop_test"), arg("task_sizes_train"), arg("task_sizes_test"), arg("leave_out_inds"), arg("n_dim"), arg("n_residual"), arg("n_models_store"), arg("fix_intercept")),
@@ -1387,7 +1387,7 @@ void sisso::descriptor_identifier::registerSISSOLogRegressor()
 
 void sisso::descriptor_identifier::registerSISSOClassifier()
 {
-    class_<SISSOClassifier, bases<SISSO_DI>>(
+    class_<SISSOClassifier, bases<SISSOSolver>>(
         "SISSOClassifier",
         init<std::shared_ptr<FeatureSpace>, std::string, Unit, np::ndarray, np::ndarray, py::list, py::list, py::list, int, int, int>(
             (arg("self"), arg("feat_space"), arg("prop_label"), arg("prop_unit"), arg("prop"), arg("prop_test"), arg("task_sizes_train"), arg("task_sizes_test"), arg("leave_out_inds"), arg("n_dim"), arg("n_residual"), arg("n_models_store")),
diff --git a/src/python/py_binding_cpp_def/bindings_docstring_keyed.hpp b/src/python/py_binding_cpp_def/bindings_docstring_keyed.hpp
index a927e797..afffbf50 100644
--- a/src/python/py_binding_cpp_def/bindings_docstring_keyed.hpp
+++ b/src/python/py_binding_cpp_def/bindings_docstring_keyed.hpp
@@ -11,17 +11,19 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file python/bindings.hpp
- * @brief Definitions to convert C++ classes into python classes
+ *  @brief Definitions to convert C++ classes into python classes
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef PYTHON_BINDING
 #define PYTHON_BINDINGS
 
-#include "descriptor_identifier/SISSO_DI/SISSOLogRegressor.hpp"
-#include "descriptor_identifier/SISSO_DI/SISSOClassifier.hpp"
+#include "descriptor_identifier/solver/SISSOLogRegressor.hpp"
+#include "descriptor_identifier/solver/SISSOClassifier.hpp"
 #include "python/py_binding_cpp_def/feature_creation/node_utils.hpp"
 #ifdef PARAMETERIZE
 #include "nl_opt/NLOptWrapper.hpp"
@@ -534,7 +536,7 @@ namespace sisso
 
     namespace descriptor_identifier
     {
-        struct SISSO_DI_Wrap : SISSO_DI, py::wrapper<SISSO_DI>
+        struct SISSOSolver_Wrap : SISSOSolver, py::wrapper<SISSOSolver>
         {
             inline void l0_regularization(){this->get_override("l0_regularization")();}
             inline void fit(){this->get_override("fit")();}
@@ -568,7 +570,7 @@ namespace sisso
         /**
          * @brief Register the SISSORegressor object for conversion to a python object
          */
-        static void registerSISSO_DI();
+        static void registerSISSOSolver();
 
         /**
          * @brief Register the SISSORegressor object for conversion to a python object
diff --git a/src/python/py_binding_cpp_def/conversion_utils.hpp b/src/python/py_binding_cpp_def/conversion_utils.hpp
index 68087c9a..d810df31 100644
--- a/src/python/py_binding_cpp_def/conversion_utils.hpp
+++ b/src/python/py_binding_cpp_def/conversion_utils.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file python/py_binding_cpp_def/conversion_utils.hpp
- * @brief A set of functions to convert std::vectors to and from python objects
+ *  @brief Define a set of functions to convert std::vectors to and from python objects
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef UTILS_CONVERSION
 #define UTILS_CONVERSION
 
diff --git a/src/python/py_binding_cpp_def/descriptor_identifier/Model.cpp b/src/python/py_binding_cpp_def/descriptor_identifier/Model.cpp
index f71210f1..408d094b 100644
--- a/src/python/py_binding_cpp_def/descriptor_identifier/Model.cpp
+++ b/src/python/py_binding_cpp_def/descriptor_identifier/Model.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/Model/Model.hpp"
+#include "descriptor_identifier/model/Model.hpp"
 
 np::ndarray Model::eval_many_py(np::ndarray x_in) const
 {
diff --git a/src/python/py_binding_cpp_def/descriptor_identifier/ModelClassifier.cpp b/src/python/py_binding_cpp_def/descriptor_identifier/ModelClassifier.cpp
index 462f276c..59d876a2 100644
--- a/src/python/py_binding_cpp_def/descriptor_identifier/ModelClassifier.cpp
+++ b/src/python/py_binding_cpp_def/descriptor_identifier/ModelClassifier.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/Model/ModelClassifier.hpp"
+#include "descriptor_identifier/model/ModelClassifier.hpp"
 
 ModelClassifier::ModelClassifier(const ModelClassifier& o, py::list new_coefs, np::ndarray prop_train_est, np::ndarray prop_test_est) :
     Model(o),
diff --git a/src/python/py_binding_cpp_def/descriptor_identifier/SISSOClassifier.cpp b/src/python/py_binding_cpp_def/descriptor_identifier/SISSOClassifier.cpp
index 192dd707..a96481c2 100644
--- a/src/python/py_binding_cpp_def/descriptor_identifier/SISSOClassifier.cpp
+++ b/src/python/py_binding_cpp_def/descriptor_identifier/SISSOClassifier.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/SISSO_DI/SISSOClassifier.hpp"
+#include "descriptor_identifier/solver/SISSOClassifier.hpp"
 
 SISSOClassifier::SISSOClassifier(
     std::shared_ptr<FeatureSpace> feat_space,
@@ -26,7 +26,7 @@ SISSOClassifier::SISSOClassifier(
     int n_residual,
     int n_models_store
 ) :
-    SISSO_DI(
+    SISSOSolver(
         "classification",
         feat_space,
         prop_label,
@@ -61,7 +61,7 @@ SISSOClassifier::SISSOClassifier(
     int n_residual,
     int n_models_store
 ) :
-    SISSO_DI(
+    SISSOSolver(
         "classification",
         feat_space,
         prop_label,
diff --git a/src/python/py_binding_cpp_def/descriptor_identifier/SISSOLogRegressor.cpp b/src/python/py_binding_cpp_def/descriptor_identifier/SISSOLogRegressor.cpp
index 69efa766..a4d3aea2 100644
--- a/src/python/py_binding_cpp_def/descriptor_identifier/SISSOLogRegressor.cpp
+++ b/src/python/py_binding_cpp_def/descriptor_identifier/SISSOLogRegressor.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/SISSO_DI/SISSOLogRegressor.hpp"
+#include "descriptor_identifier/solver/SISSOLogRegressor.hpp"
 
 SISSOLogRegressor::SISSOLogRegressor(
     std::shared_ptr<FeatureSpace> feat_space,
diff --git a/src/python/py_binding_cpp_def/descriptor_identifier/SISSORegressor.cpp b/src/python/py_binding_cpp_def/descriptor_identifier/SISSORegressor.cpp
index 4bf1d600..31afce12 100644
--- a/src/python/py_binding_cpp_def/descriptor_identifier/SISSORegressor.cpp
+++ b/src/python/py_binding_cpp_def/descriptor_identifier/SISSORegressor.cpp
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/SISSO_DI/SISSORegressor.hpp"
+#include "descriptor_identifier/solver/SISSORegressor.hpp"
 
 SISSORegressor::SISSORegressor(
     std::shared_ptr<FeatureSpace> feat_space,
@@ -27,7 +27,7 @@ SISSORegressor::SISSORegressor(
     int n_models_store,
     bool fix_intercept
 ) :
-    SISSO_DI(
+    SISSOSolver(
         "regression",
         feat_space,
         prop_label,
@@ -58,7 +58,7 @@ SISSORegressor::SISSORegressor(
     int n_models_store,
     bool fix_intercept
 ) :
-    SISSO_DI(
+    SISSOSolver(
         "regression",
         feat_space,
         prop_label,
diff --git a/src/python/py_binding_cpp_def/descriptor_identifier/SISSO_DI.cpp b/src/python/py_binding_cpp_def/descriptor_identifier/SISSOSolver.cpp
similarity index 96%
rename from src/python/py_binding_cpp_def/descriptor_identifier/SISSO_DI.cpp
rename to src/python/py_binding_cpp_def/descriptor_identifier/SISSOSolver.cpp
index b304e5bd..4df1d20f 100644
--- a/src/python/py_binding_cpp_def/descriptor_identifier/SISSO_DI.cpp
+++ b/src/python/py_binding_cpp_def/descriptor_identifier/SISSOSolver.cpp
@@ -11,9 +11,9 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include "descriptor_identifier/SISSO_DI/SISSO_DI.hpp"
+#include "descriptor_identifier/solver/SISSOSolver.hpp"
 
-SISSO_DI::SISSO_DI(
+SISSOSolver::SISSOSolver(
     std::string loss_type,
     std::shared_ptr<FeatureSpace> feat_space,
     std::string prop_label,
@@ -54,7 +54,7 @@ SISSO_DI::SISSO_DI(
     );
 }
 
-SISSO_DI::SISSO_DI(
+SISSOSolver::SISSOSolver(
     std::string loss_type,
     std::shared_ptr<FeatureSpace> feat_space,
     std::string prop_label,
diff --git a/src/python/py_binding_cpp_def/feature_creation/node_utils.hpp b/src/python/py_binding_cpp_def/feature_creation/node_utils.hpp
index bf78fc2a..8540d1ef 100644
--- a/src/python/py_binding_cpp_def/feature_creation/node_utils.hpp
+++ b/src/python/py_binding_cpp_def/feature_creation/node_utils.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file python/feature_creation/node_utils.hpp
- * @brief python binding functions for node utilities
+ *  @brief Defines a function to convert a file containing a list of postfix expressions of features into a list of Nodes
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef NODE_UTILS_PY
 #define NODE_UTILS_PY
 
diff --git a/src/python/py_interface/__init__.py b/src/python/py_interface/__init__.py
index 76e76f5e..ddd97016 100644
--- a/src/python/py_interface/__init__.py
+++ b/src/python/py_interface/__init__.py
@@ -13,19 +13,19 @@
 # limitations under the License.
 """Provide a python interface to the SISSO++ Code
 
-Create the relevant SISSO FeatureSpace and SISSO_DI classes from standard python objects.
+Create the relevant SISSO FeatureSpace and SISSOSolver classes from standard python objects.
 
 Modules:
 
 estimate_feat_space_size: Provide functions to estimate the final feature space size given the input parameters used to generate the FeatureSpace object.
-get_solver: Functions to get the FeatureSpace and SISSO_DI objects needed to run the code.
+get_solver: Functions to get the FeatureSpace and SISSOSolver objects needed to run the code.
 import_dataframe: Functions used to convert a data.csv file into a primary feature space
 
 Functions:
 
 read_csv: Create initial feature set from a csv file
 get_fs: Generate a FeatureSpace for the calculation
-get_fs_solver: Generate a FeatureSpace and SISSO_DI for the calculation
+get_fs_solver: Generate a FeatureSpace and SISSOSolver for the calculation
 """
 from sissopp.py_interface.import_dataframe import read_csv
 from sissopp.py_interface.get_solver import get_fs, get_fs_solver
diff --git a/src/python/py_interface/get_solver.py b/src/python/py_interface/get_solver.py
index 83329b23..cf484886 100644
--- a/src/python/py_interface/get_solver.py
+++ b/src/python/py_interface/get_solver.py
@@ -11,12 +11,12 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-"""Functions to get the FeatureSpace and SISSO_DI objects needed to run the code.
+"""Functions to get the FeatureSpace and SISSOSolver objects needed to run the code.
 
 Functions:
 
 get_fs: Generate a FeatureSpace for the calculation
-get_fs_solver: Generate a FeatureSpace and SISSO_DI for the calculation
+get_fs_solver: Generate a FeatureSpace and SISSOSolver for the calculation
 """
 import numpy as np
 import pandas as pd
@@ -119,7 +119,7 @@ def get_fs_solver(
     leave_out_frac=0.0,
     leave_out_inds=None,
 ):
-    """Generate a FeatureSpace and SISSO_DI for the calculation
+    """Generate a FeatureSpace and SISSOSolver for the calculation
 
     Args:
         df (str): The csv file containing all of the data for the calculation
diff --git a/src/utils/compare_features.hpp b/src/utils/compare_features.hpp
index 5672ad26..9e5a459a 100644
--- a/src/utils/compare_features.hpp
+++ b/src/utils/compare_features.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file utils/compare_features.hpp
  * @brief A set of functions to project features onto a second vector
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef UTILS_FEAT_COMP
 #define UTILS_FEAT_COMP
 
diff --git a/src/utils/enum.hpp b/src/utils/enum.hpp
index f158331c..f3f793d8 100644
--- a/src/utils/enum.hpp
+++ b/src/utils/enum.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file utils/enum.hpp
  * @brief Define node type enum
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef ENUMS
 #define ENUMS
     /**
diff --git a/src/utils/math_funcs.hpp b/src/utils/math_funcs.hpp
index b2c8346c..8a0346ff 100644
--- a/src/utils/math_funcs.hpp
+++ b/src/utils/math_funcs.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file utils/math_funcs.hpp
  * @brief A set of functions to get standardized mathematical operations on
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef MATH_FXN
 #define MATH_FXN
 
diff --git a/src/utils/mkl_interface.hpp b/src/utils/mkl_interface.hpp
index 7248f1dd..d7de6e53 100644
--- a/src/utils/mkl_interface.hpp
+++ b/src/utils/mkl_interface.hpp
@@ -11,6 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file utils/mkl_interface.hpp
  * @brief wrapper functions to a mkl blas functionality
  *
diff --git a/src/utils/project.hpp b/src/utils/project.hpp
index ba3cd752..27d56900 100644
--- a/src/utils/project.hpp
+++ b/src/utils/project.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file utils/project.hpp
  * @brief A set of functions to project features onto a second vector
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef UTILS_PROJECT
 #define UTILS_PROJECT
 
diff --git a/src/utils/string_utils.hpp b/src/utils/string_utils.hpp
index df48d193..ea1dca4c 100644
--- a/src/utils/string_utils.hpp
+++ b/src/utils/string_utils.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file utils/string_utils.hpp
  * @brief A set of functions to manipulate strings
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef STRING_UTILS
 #define STRING_UTILS
 
diff --git a/src/utils/vector_utils.hpp b/src/utils/vector_utils.hpp
index 7801e11d..87b9345f 100644
--- a/src/utils/vector_utils.hpp
+++ b/src/utils/vector_utils.hpp
@@ -11,12 +11,14 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
 /** @file utils/vector_utils.hpp
  * @brief A set of functions to manipulate vectors
  *
- *  @author Thomas A. R. Purcell (tpurcell)
+ *  @author Thomas A. R. Purcell (tpurcell90)
  *  @bug No known bugs.
  */
+
 #ifndef VECTOR_UTILS
 #define VECTOR_UTILS
 
diff --git a/tests/googletest/descriptor_identification/model/test_model_classifier.cc b/tests/googletest/descriptor_identification/model/test_model_classifier.cc
index 9bc2b78e..e0693e99 100644
--- a/tests/googletest/descriptor_identification/model/test_model_classifier.cc
+++ b/tests/googletest/descriptor_identification/model/test_model_classifier.cc
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include <descriptor_identifier/Model/ModelClassifier.hpp>
+#include <descriptor_identifier/model/ModelClassifier.hpp>
 #include <boost/filesystem.hpp>
 #include "gtest/gtest.h"
 
diff --git a/tests/googletest/descriptor_identification/model/test_model_log_regressor.cc b/tests/googletest/descriptor_identification/model/test_model_log_regressor.cc
index a5df9f1f..4c1e43ec 100644
--- a/tests/googletest/descriptor_identification/model/test_model_log_regressor.cc
+++ b/tests/googletest/descriptor_identification/model/test_model_log_regressor.cc
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include <descriptor_identifier/Model/ModelLogRegressor.hpp>
+#include <descriptor_identifier/model/ModelLogRegressor.hpp>
 #include <boost/filesystem.hpp>
 #include "gtest/gtest.h"
 
diff --git a/tests/googletest/descriptor_identification/model/test_model_regressor.cc b/tests/googletest/descriptor_identification/model/test_model_regressor.cc
index 7d86988f..031ddd4d 100644
--- a/tests/googletest/descriptor_identification/model/test_model_regressor.cc
+++ b/tests/googletest/descriptor_identification/model/test_model_regressor.cc
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include <descriptor_identifier/Model/ModelRegressor.hpp>
+#include <descriptor_identifier/model/ModelRegressor.hpp>
 #include <boost/filesystem.hpp>
 #include "gtest/gtest.h"
 
diff --git a/tests/googletest/descriptor_identification/sisso_regressor/test_sisso_classifier.cc b/tests/googletest/descriptor_identification/sisso_regressor/test_sisso_classifier.cc
index 1bf20308..d45ee875 100644
--- a/tests/googletest/descriptor_identification/sisso_regressor/test_sisso_classifier.cc
+++ b/tests/googletest/descriptor_identification/sisso_regressor/test_sisso_classifier.cc
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include <descriptor_identifier/SISSO_DI/SISSOClassifier.hpp>
+#include <descriptor_identifier/solver/SISSOClassifier.hpp>
 #include <boost/filesystem.hpp>
 #include "gtest/gtest.h"
 #include <random>
diff --git a/tests/googletest/descriptor_identification/sisso_regressor/test_sisso_log_regressor.cc b/tests/googletest/descriptor_identification/sisso_regressor/test_sisso_log_regressor.cc
index 81d9ef18..da99f6e0 100644
--- a/tests/googletest/descriptor_identification/sisso_regressor/test_sisso_log_regressor.cc
+++ b/tests/googletest/descriptor_identification/sisso_regressor/test_sisso_log_regressor.cc
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include <descriptor_identifier/SISSO_DI/SISSOLogRegressor.hpp>
+#include <descriptor_identifier/solver/SISSOLogRegressor.hpp>
 #include <boost/filesystem.hpp>
 #include "gtest/gtest.h"
 #include <random>
diff --git a/tests/googletest/descriptor_identification/sisso_regressor/test_sisso_regressor.cc b/tests/googletest/descriptor_identification/sisso_regressor/test_sisso_regressor.cc
index 1d630a12..65b6614e 100644
--- a/tests/googletest/descriptor_identification/sisso_regressor/test_sisso_regressor.cc
+++ b/tests/googletest/descriptor_identification/sisso_regressor/test_sisso_regressor.cc
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#include <descriptor_identifier/SISSO_DI/SISSORegressor.hpp>
+#include <descriptor_identifier/solver/SISSORegressor.hpp>
 #include <boost/filesystem.hpp>
 #include "gtest/gtest.h"
 #include <random>
-- 
GitLab