diff --git a/MeshLib/MeshSearch/ElementSearch.cpp b/MeshLib/MeshSearch/ElementSearch.cpp
index 61441cbdefccaaa2185f6310eab403137df23e6d..a8d165ef08749c064b5ab2176075e85da7c23131 100644
--- a/MeshLib/MeshSearch/ElementSearch.cpp
+++ b/MeshLib/MeshSearch/ElementSearch.cpp
@@ -22,10 +22,6 @@ ElementSearch::ElementSearch(const MeshLib::Mesh &mesh)
 {
 }
 
-ElementSearch::~ElementSearch()
-{
-}
-
 std::size_t ElementSearch::searchByMaterialID(int const matID)
 {
 	boost::optional<MeshLib::PropertyVector<int> const&> opt_pv(
diff --git a/MeshLib/MeshSearch/ElementSearch.h b/MeshLib/MeshSearch/ElementSearch.h
index 85715826feb013c03bf0bfd23799cb59803aff85..724743e3d48718ecbfd3d7ad4f8a785bef5aa066 100644
--- a/MeshLib/MeshSearch/ElementSearch.h
+++ b/MeshLib/MeshSearch/ElementSearch.h
@@ -23,13 +23,11 @@ class Mesh;
 class Element;
 
 /// Element search class
-class ElementSearch
+class ElementSearch final
 {
 public:
 	explicit ElementSearch(const MeshLib::Mesh &mesh);
 
-	~ElementSearch();
-
 	/// return marked elements
 	const std::vector<std::size_t>& getSearchedElementIDs() const { return _marked_elements; }
 
diff --git a/MeshLib/MeshSearch/NodeSearch.cpp b/MeshLib/MeshSearch/NodeSearch.cpp
index ea5a92c9271d4a4c2e88dc314f63f3c24c46c231..81efa477843fe4a1fecdb72297ed2b8fedae32dc 100644
--- a/MeshLib/MeshSearch/NodeSearch.cpp
+++ b/MeshLib/MeshSearch/NodeSearch.cpp
@@ -24,10 +24,6 @@ NodeSearch::NodeSearch(const MeshLib::Mesh &mesh)
 {
 }
 
-NodeSearch::~NodeSearch()
-{
-}
-
 std::size_t NodeSearch::searchByElementIDs(const std::vector<std::size_t> &elements, bool only_match_all_connected_elements)
 {
 	std::vector<std::size_t> connected_nodes;
@@ -86,7 +82,7 @@ void NodeSearch::updateUnion(const std::vector<std::size_t> &vec)
 	_marked_nodes.assign(vec_temp.begin(), vec_temp.end());
 }
 
-std::vector<Node*> getNodes(std::vector<Element*> const& elements)
+std::vector<Node*> getUniqueNodes(std::vector<Element*> const& elements)
 {
 	std::set<Node*> nodes_set;
 	for (auto e : elements)
diff --git a/MeshLib/MeshSearch/NodeSearch.h b/MeshLib/MeshSearch/NodeSearch.h
index cde251814cf48a929f05d4d2bfc2f62c77019ccf..8a8df377faf2451ba521535ec333c3d7539b65fc 100644
--- a/MeshLib/MeshSearch/NodeSearch.h
+++ b/MeshLib/MeshSearch/NodeSearch.h
@@ -21,13 +21,11 @@ class Element;
 class Node;
 
 /// Node search class
-class NodeSearch
+class NodeSearch final
 {
 public:
 	explicit NodeSearch(const MeshLib::Mesh &mesh);
 
-	~NodeSearch();
-
 	/// return marked node IDs
 	const std::vector<std::size_t>& getSearchedNodeIDs() const {return _marked_nodes; }
 
@@ -48,7 +46,7 @@ private:
 };
 
 /// Create a vector of unique nodes used by given elements.
-std::vector<Node*> getNodes(std::vector<Element*> const& elements);
+std::vector<Node*> getUniqueNodes(std::vector<Element*> const& elements);
 
 } // end namespace MeshLib
 
diff --git a/ProcessLib/NeumannBc.h b/ProcessLib/NeumannBc.h
index b31b3d6aea24dc2b747cf9e329b1190fddd80fb4..abe0c14662275526429116e384331bcdab9868fc 100644
--- a/ProcessLib/NeumannBc.h
+++ b/ProcessLib/NeumannBc.h
@@ -64,7 +64,7 @@ public:
                 std::back_inserter(_elements),
                 std::mem_fn(&MeshLib::Element::clone));
 
-        std::vector<MeshLib::Node*> nodes = MeshLib::getNodes(_elements);
+        std::vector<MeshLib::Node*> nodes = MeshLib::getUniqueNodes(_elements);
 
         _mesh_subset_all_nodes =
             mesh_subset_all_nodes.getIntersectionByNodes(nodes);
diff --git a/Tests/AssemblerLib/LocalToGlobalIndexMap.cpp b/Tests/AssemblerLib/LocalToGlobalIndexMap.cpp
index f625863b20a7e319777bb3613adb4b1dae79c563..ad750a55168708f93b5682e25e38ef07c6e61260 100644
--- a/Tests/AssemblerLib/LocalToGlobalIndexMap.cpp
+++ b/Tests/AssemblerLib/LocalToGlobalIndexMap.cpp
@@ -88,7 +88,7 @@ TEST_F(AssemblerLibLocalToGlobalIndexMapTest, SubsetByComponent)
         some_elements.push_back(const_cast<MeshLib::Element*>(mesh->getElement(id)));
 
     // Find unique node ids of the selected elements for testing.
-    std::vector<MeshLib::Node*> selected_nodes = MeshLib::getNodes(some_elements);
+    std::vector<MeshLib::Node*> selected_nodes = MeshLib::getUniqueNodes(some_elements);
 
     MeshLib::MeshSubset const* const selected_subset =
         nodesSubset->getIntersectionByNodes(selected_nodes);
diff --git a/Tests/MeshLib/TestBoundaryElementSearch.cpp b/Tests/MeshLib/TestBoundaryElementSearch.cpp
index fa7380241e62999fc85f52f6c28f166ead37e291..ac5a62f86d3a75dbdd46f307f19bc279f1d22318 100644
--- a/Tests/MeshLib/TestBoundaryElementSearch.cpp
+++ b/Tests/MeshLib/TestBoundaryElementSearch.cpp
@@ -151,7 +151,7 @@ TEST_F(MeshLibBoundaryElementSearchInSimpleHexMesh, SurfaceSearch)
 	double sum_area_b = std::accumulate(found_faces_sfc_b.begin(), found_faces_sfc_b.end(), 0.0,
 				[](double v, MeshLib::Element*e){return v+e->getContent();});
 	ASSERT_EQ(_geometric_size*_geometric_size, sum_area_b);
-	auto connected_nodes_b = MeshLib::getNodes(found_faces_sfc_b);
+	auto connected_nodes_b = MeshLib::getUniqueNodes(found_faces_sfc_b);
 	ASSERT_EQ(n_nodes_2d, connected_nodes_b.size());
 	for (auto node : connected_nodes_b)
 		ASSERT_EQ(0.0, (*node)[2]); // check z coordinates
@@ -162,7 +162,7 @@ TEST_F(MeshLibBoundaryElementSearchInSimpleHexMesh, SurfaceSearch)
 	double sum_area_f = std::accumulate(found_faces_sfc_f.begin(), found_faces_sfc_f.end(), 0.0,
 				[](double v, MeshLib::Element*e){return v+e->getContent();});
 	ASSERT_EQ(_geometric_size*_geometric_size, sum_area_f);
-    auto connected_nodes_f = MeshLib::getNodes(found_faces_sfc_f);
+    auto connected_nodes_f = MeshLib::getUniqueNodes(found_faces_sfc_f);
 	ASSERT_EQ(n_nodes_2d, connected_nodes_f.size());
 	for (auto node : connected_nodes_f)
 		ASSERT_EQ(0.0, (*node)[1]); // check y coordinates
diff --git a/Tests/MeshLib/TestRemove.cpp b/Tests/MeshLib/TestRemove.cpp
index b753a8ebbc381b48e01350c9d7c4591f6fe5c7fb..8659eda07ffdffeb36bfb61838e36e9fd105739b 100644
--- a/Tests/MeshLib/TestRemove.cpp
+++ b/Tests/MeshLib/TestRemove.cpp
@@ -15,13 +15,14 @@
 
 #include "gtest/gtest.h"
 
-#include "Mesh.h"
+#include "MathLib/MathTools.h"
+
+#include "MeshLib/Mesh.h"
 #include "MeshLib/Node.h"
-#include "Elements/Element.h"
-#include "MeshEditing/RemoveMeshComponents.h"
-#include "MeshGenerators/MeshGenerator.h"
-#include "MeshQuality/MeshValidation.h"
-#include "MathTools.h"
+#include "MeshLib/Elements/Element.h"
+#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
+#include "MeshLib/MeshGenerators/MeshGenerator.h"
+#include "MeshLib/MeshQuality/MeshValidation.h"
 
 TEST(MeshLib, RemoveNodes)
 {