diff --git a/libwccl/ops/functions/bool/predicate.cpp b/libwccl/ops/functions/bool/predicate.cpp
index e3d7b7f1be09dc2aba9f00b052de48683e1f6042..9c5b19ad45399c1e8f0eada483e6af3ba823bfb3 100644
--- a/libwccl/ops/functions/bool/predicate.cpp
+++ b/libwccl/ops/functions/bool/predicate.cpp
@@ -1,4 +1,4 @@
-#include <libwccl/ops/predicate.h>
+#include <libwccl/ops/functions/bool/predicate.h>
 
 namespace Wccl {
 
diff --git a/libwccl/ops/functions/bool/predicate.h b/libwccl/ops/functions/bool/predicate.h
index a569b4e990e0e7d3e27cba694c4d06660c1f235b..644a76fcf1c34668abbe7e1ed0fd31ecf2c99678 100644
--- a/libwccl/ops/functions/bool/predicate.h
+++ b/libwccl/ops/functions/bool/predicate.h
@@ -1,10 +1,10 @@
-#ifndef LIBWCCL_OPS_PREDICATE_H
-#define LIBWCCL_OPS_PREDICATE_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATE_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATE_H
 
 #include <boost/scoped_ptr.hpp>
 
 #include <libwccl/values/bool.h>
-#include <libwccl/ops/constant.h>
+#include <libwccl/ops/functions/constant.h>
 
 namespace Wccl {
 
@@ -29,4 +29,4 @@ public:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_PREDICATE_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATE_H
diff --git a/libwccl/ops/functions/bool/predicates/and.cpp b/libwccl/ops/functions/bool/predicates/and.cpp
index 2c18f4765a792cc2669859326fdebb45e746ed96..2eab7cdc0eecf4ba8be1d371f67d86e8bbee6201 100644
--- a/libwccl/ops/functions/bool/predicates/and.cpp
+++ b/libwccl/ops/functions/bool/predicates/and.cpp
@@ -1,7 +1,5 @@
-#include <libwccl/ops/and.h>
-#include <boost/foreach.hpp>
-#undef foreach
-#define foreach         BOOST_FOREACH
+#include <libwccl/ops/functions/bool/predicates/and.h>
+#include <libpwrutils/foreach.h>
 
 namespace Wccl {
 
diff --git a/libwccl/ops/functions/bool/predicates/and.h b/libwccl/ops/functions/bool/predicates/and.h
index 88b019dff224288bbd98d032379f04013b49d528..d7e961fb8f18558a876aa949f5013f3a3ad37f04 100644
--- a/libwccl/ops/functions/bool/predicates/and.h
+++ b/libwccl/ops/functions/bool/predicates/and.h
@@ -1,7 +1,7 @@
-#ifndef LIBWCCL_OPS_AND_H
-#define LIBWCCL_OPS_AND_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_AND_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_AND_H
 
-#include <libwccl/ops/logicalpredicate.h>
+#include <libwccl/ops/functions/bool/predicates/logicalpredicate.h>
 
 namespace Wccl {
 
@@ -34,4 +34,4 @@ protected :
 };
 
 } /* end ns Wccl */
-#endif // LIBWCCL_OPS_AND_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_AND_H
diff --git a/libwccl/ops/functions/bool/predicates/equals.h b/libwccl/ops/functions/bool/predicates/equals.h
index fe57b009c047a5d5d60cf9cc33e34d1f5270ef79..c7294cc7a2309c3ffbddab423fd304c0f0733d3a 100644
--- a/libwccl/ops/functions/bool/predicates/equals.h
+++ b/libwccl/ops/functions/bool/predicates/equals.h
@@ -1,9 +1,7 @@
-#ifndef LIBWCCL_OPS_EQUALS_H
-#define LIBWCCL_OPS_EQUALS_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_EQUALS_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_EQUALS_H
 
-#include <boost/mpl/list.hpp>
-#include <boost/mpl/count.hpp>
-#include <libwccl/ops/predicate.h>
+#include <libwccl/ops/functions/bool/predicate.h>
 #include <libwccl/ops/formatters.h>
 
 namespace Wccl {
@@ -104,4 +102,4 @@ protected:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_EQUALS_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_EQUALS_H
diff --git a/libwccl/ops/functions/bool/predicates/intersects.h b/libwccl/ops/functions/bool/predicates/intersects.h
index fda4bea1317c2bf7f9021b8fb788b6af90e04ef3..ab709a5b8a3a05f45652729aa4578c6e2a0f4272 100644
--- a/libwccl/ops/functions/bool/predicates/intersects.h
+++ b/libwccl/ops/functions/bool/predicates/intersects.h
@@ -1,7 +1,7 @@
-#ifndef LIBWCCL_OPS_INTERSECTS_H
-#define LIBWCCL_OPS_INTERSECTS_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_INTERSECTS_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_INTERSECTS_H
 
-#include <libwccl/ops/setpredicate.h>
+#include <libwccl/ops/functions/bool/predicates/setpredicate.h>
 
 namespace Wccl {
 
@@ -43,4 +43,4 @@ protected:
 } /* end ns Wccl */
 
 
-#endif // LIBWCCL_OPS_INTERSECTS_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_INTERSECTS_H
diff --git a/libwccl/ops/functions/bool/predicates/isinside.h b/libwccl/ops/functions/bool/predicates/isinside.h
index 7ea1f1f69c83f01bd02c13b247ce204575974f6a..28949150e3a2aabb62e756644fb31866cfd7498c 100644
--- a/libwccl/ops/functions/bool/predicates/isinside.h
+++ b/libwccl/ops/functions/bool/predicates/isinside.h
@@ -1,7 +1,7 @@
-#ifndef LIBWCCL_OPS_ISINSIDE_H
-#define LIBWCCL_OPS_ISINSIDE_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_ISINSIDE_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_ISINSIDE_H
 
-#include <libwccl/ops/predicate.h>
+#include <libwccl/ops/functions/bool/predicate.h>
 #include <libwccl/ops/formatters.h>
 #include <libwccl/values/position.h>
 
@@ -59,4 +59,4 @@ protected:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_ISINSIDE_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_ISINSIDE_H
diff --git a/libwccl/ops/functions/bool/predicates/isoutside.h b/libwccl/ops/functions/bool/predicates/isoutside.h
index 17322e70d553c39dbcc5ec3036427bedcda7553a..d9019c462c33aca85e7eb0bbd4c1534cbf898770 100644
--- a/libwccl/ops/functions/bool/predicates/isoutside.h
+++ b/libwccl/ops/functions/bool/predicates/isoutside.h
@@ -1,7 +1,7 @@
-#ifndef LIBWCCL_OPS_ISOUTSIDE_H
-#define LIBWCCL_OPS_ISOUTSIDE_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_ISOUTSIDE_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_ISOUTSIDE_H
 
-#include <libwccl/ops/predicate.h>
+#include <libwccl/ops/functions/bool/predicate.h>
 #include <libwccl/ops/formatters.h>
 #include <libwccl/values/position.h>
 
@@ -59,4 +59,4 @@ protected:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_ISOUTSIDE_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_ISOUTSIDE_H
diff --git a/libwccl/ops/functions/bool/predicates/issubsetof.h b/libwccl/ops/functions/bool/predicates/issubsetof.h
index 09826117b50e4728367549a7f2e9b8618a73cc4c..3cf3e5f6c8d0c673b1ff3f1d896e9d7205ed5001 100644
--- a/libwccl/ops/functions/bool/predicates/issubsetof.h
+++ b/libwccl/ops/functions/bool/predicates/issubsetof.h
@@ -1,7 +1,7 @@
-#ifndef LIBWCCL_OPS_ISSUBSETOF_H
-#define LIBWCCL_OPS_ISSUBSETOF_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_ISSUBSETOF_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_ISSUBSETOF_H
 
-#include <libwccl/ops/setpredicate.h>
+#include <libwccl/ops/functions/bool/predicates/setpredicate.h>
 
 namespace Wccl {
 
@@ -51,4 +51,4 @@ protected:
 } /* end ns Wccl */
 
 
-#endif // LIBWCCL_OPS_ISSUBSETOF_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_ISSUBSETOF_H
diff --git a/libwccl/ops/functions/bool/predicates/logicalpredicate.cpp b/libwccl/ops/functions/bool/predicates/logicalpredicate.cpp
index 66945abad4aac2ee7efa30f856781b9a0ee4ec75..40db27e469fec25cf42f6822b895715f0fba0299 100644
--- a/libwccl/ops/functions/bool/predicates/logicalpredicate.cpp
+++ b/libwccl/ops/functions/bool/predicates/logicalpredicate.cpp
@@ -1,4 +1,4 @@
-#include <libwccl/ops/logicalpredicate.h>
+#include <libwccl/ops/functions/bool/predicates/logicalpredicate.h>
 
 #include <sstream>
 
diff --git a/libwccl/ops/functions/bool/predicates/logicalpredicate.h b/libwccl/ops/functions/bool/predicates/logicalpredicate.h
index 7d439b6d503d8c7ceea63802a5b330b1a15498f4..e03edb0cd8220551c645d48db008a1f50106dc25 100644
--- a/libwccl/ops/functions/bool/predicates/logicalpredicate.h
+++ b/libwccl/ops/functions/bool/predicates/logicalpredicate.h
@@ -1,9 +1,9 @@
-#ifndef LIBWCCL_OPS_LOGICALPREDICATE_H
-#define LIBWCCL_OPS_LOGICALPREDICATE_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_LOGICALPREDICATE_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_LOGICALPREDICATE_H
 
 #include <vector>
 
-#include <libwccl/ops/predicate.h>
+#include <libwccl/ops/functions/bool/predicate.h>
 
 namespace Wccl {
 /**
@@ -42,4 +42,4 @@ protected:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_LOGICALPREDICATE_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_LOGICALPREDICATE_H
diff --git a/libwccl/ops/functions/bool/predicates/nor.cpp b/libwccl/ops/functions/bool/predicates/nor.cpp
index 480025ba9ce65129dba3620fffb24bf1df6e1997..4a88e46a51cf677d98e95752920dd55156243ae9 100644
--- a/libwccl/ops/functions/bool/predicates/nor.cpp
+++ b/libwccl/ops/functions/bool/predicates/nor.cpp
@@ -1,6 +1,5 @@
-#include <libwccl/ops/nor.h>
-#include <boost/foreach.hpp>
-#define foreach         BOOST_FOREACH
+#include <libwccl/ops/functions/bool/predicates/nor.h>
+#include <libpwrutils/foreach.h>
 
 namespace Wccl {
 
diff --git a/libwccl/ops/functions/bool/predicates/nor.h b/libwccl/ops/functions/bool/predicates/nor.h
index 6374ad8a0adb5b1cc4b91285b0bf77b4b0aa2d45..8cd592057fe8473a7cad847327609d5815a413d8 100644
--- a/libwccl/ops/functions/bool/predicates/nor.h
+++ b/libwccl/ops/functions/bool/predicates/nor.h
@@ -1,7 +1,7 @@
-#ifndef LIBWCCL_OPS_NOR_H
-#define LIBWCCL_OPS_NOR_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_NOR_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_NOR_H
 
-#include <libwccl/ops/logicalpredicate.h>
+#include <libwccl/ops/functions/bool/predicates/logicalpredicate.h>
 
 namespace Wccl {
 
@@ -36,4 +36,4 @@ protected :
 };
 
 } /* end ns Wccl */
-#endif // LIBWCCL_OPS_NOR_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_NOR_H
diff --git a/libwccl/ops/functions/bool/predicates/or.cpp b/libwccl/ops/functions/bool/predicates/or.cpp
index 24ce20197f28147ee75297f10d22a00b6d44fb3e..c1ff8859dbc51d5cde0e4b9b1258250dc52365d4 100644
--- a/libwccl/ops/functions/bool/predicates/or.cpp
+++ b/libwccl/ops/functions/bool/predicates/or.cpp
@@ -1,6 +1,5 @@
-#include <libwccl/ops/or.h>
-#include <boost/foreach.hpp>
-#define foreach         BOOST_FOREACH
+#include <libwccl/ops/functions/bool/predicates/or.h>
+#include <libpwrutils/foreach.h>
 
 namespace Wccl {
 
diff --git a/libwccl/ops/functions/bool/predicates/or.h b/libwccl/ops/functions/bool/predicates/or.h
index 0a60d69b0fdbcf1a641887831ac47613bd559809..83d13bc3a3d2b4b8dfb2026328f9287e3798ccbe 100644
--- a/libwccl/ops/functions/bool/predicates/or.h
+++ b/libwccl/ops/functions/bool/predicates/or.h
@@ -1,7 +1,7 @@
-#ifndef LIBWCCL_OPS_OR_H
-#define LIBWCCL_OPS_OR_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_OR_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_OR_H
 
-#include <libwccl/ops/logicalpredicate.h>
+#include <libwccl/ops/functions/bool/predicates/logicalpredicate.h>
 
 namespace Wccl {
 
@@ -33,4 +33,4 @@ protected :
 };
 
 } /* end ns Wccl */
-#endif // LIBWCCL_OPS_OR_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_OR_H
diff --git a/libwccl/ops/functions/bool/predicates/regex.cpp b/libwccl/ops/functions/bool/predicates/regex.cpp
index 1d0ac3679f73926de025ed1ad04c6d7db9c08257..1e4a7d8ff079bc213268bd17cb4f2f02a7f1c274 100644
--- a/libwccl/ops/functions/bool/predicates/regex.cpp
+++ b/libwccl/ops/functions/bool/predicates/regex.cpp
@@ -1,6 +1,5 @@
-#include <libwccl/ops/regex.h>
-#include <boost/foreach.hpp>
-#define foreach         BOOST_FOREACH
+#include <libwccl/ops/functions/bool/predicates/regex.h>
+#include <libpwrutils/foreach.h>
 
 #include <sstream>
 #include <libpwrutils/util.h>
diff --git a/libwccl/ops/functions/bool/predicates/regex.h b/libwccl/ops/functions/bool/predicates/regex.h
index 1c738c15314a206a5f1b558374f9572e8600a4e2..abc48294e621560921f36243bffe6a113b0c5e27 100644
--- a/libwccl/ops/functions/bool/predicates/regex.h
+++ b/libwccl/ops/functions/bool/predicates/regex.h
@@ -1,11 +1,11 @@
-#ifndef LIBWCCL_OPS_REGEX_H
-#define LIBWCCL_OPS_REGEX_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_REGEX_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_REGEX_H
 
 #include <unicode/regex.h>
 
 #include <libwccl/exception.h>
 #include <libwccl/values/strset.h>
-#include <libwccl/ops/predicate.h>
+#include <libwccl/ops/functions/bool/predicate.h>
 
 namespace Wccl {
 
@@ -79,4 +79,4 @@ public:
 } /* end ns Wccl */
 
 
-#endif // LIBWCCL_OPS_REGEX_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_REGEX_H
diff --git a/libwccl/ops/functions/bool/predicates/setpredicate.h b/libwccl/ops/functions/bool/predicates/setpredicate.h
index 8886b5b0e2b59cf48a3a21bf83733d43ff95160c..d845c474af8ba6da1116916093ec55dc66bc59ac 100644
--- a/libwccl/ops/functions/bool/predicates/setpredicate.h
+++ b/libwccl/ops/functions/bool/predicates/setpredicate.h
@@ -1,9 +1,9 @@
-#ifndef LIBWCCL_OPS_SETPREDICATE_H
-#define LIBWCCL_OPS_SETPREDICATE_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_SETPREDICATE_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_SETPREDICATE_H
 
 #include <boost/mpl/list.hpp>
 #include <boost/mpl/count.hpp>
-#include <libwccl/ops/predicate.h>
+#include <libwccl/ops/functions/bool/predicate.h>
 #include <libwccl/values/strset.h>
 #include <libwccl/values/tset.h>
 
@@ -52,4 +52,4 @@ protected:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_SETPREDICATE_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_PREDICATES_SETPREDICATE_H
diff --git a/libwccl/ops/functions/bool/varsetter.h b/libwccl/ops/functions/bool/varsetter.h
index 0484c6fada8ae5524d7d6c0fd574e65366458360..cd6821159879b9c4f15ed87ab7b154d63b9659ce 100644
--- a/libwccl/ops/functions/bool/varsetter.h
+++ b/libwccl/ops/functions/bool/varsetter.h
@@ -1,7 +1,7 @@
-#ifndef LIBWCCL_OPS_VARSETTER_H
-#define LIBWCCL_OPS_VARSETTER_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_BOOL_VARSETTER_H
+#define LIBWCCL_OPS_FUNCTIONS_BOOL_VARSETTER_H
 
-#include <libwccl/ops/predicate.h>
+#include <libwccl/ops/functions/bool/predicate.h>
 #include <libwccl/ops/formatters.h>
 
 namespace Wccl {
@@ -72,4 +72,4 @@ private:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_VARSETTER_H
+#endif // LIBWCCL_OPS_FUNCTIONS_BOOL_VARSETTER_H
diff --git a/libwccl/ops/functions/conditional.h b/libwccl/ops/functions/conditional.h
index 03485d028766c7c0f2b116a0ec3600074fd160ae..73e7d0a88bd079d4dcb369edb2a17f6608bdad98 100644
--- a/libwccl/ops/functions/conditional.h
+++ b/libwccl/ops/functions/conditional.h
@@ -1,13 +1,10 @@
-#ifndef LIBWCCL_OPS_CONDITIONAL_H
-#define LIBWCCL_OPS_CONDITIONAL_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_CONDITIONAL_H
+#define LIBWCCL_OPS_FUNCTIONS_CONDITIONAL_H
 
-#include <boost/mpl/list.hpp>
-#include <boost/mpl/count.hpp>
 #include <sstream>
 #include <boost/format.hpp>
 
-#include <libwccl/ops/predicate.h>
-#include <libwccl/ops/constant.h>
+#include <libwccl/ops/functions/constant.h>
 #include <libwccl/ops/formatters.h>
 
 namespace Wccl {
@@ -170,4 +167,4 @@ std::string ConditionalOp<T>::to_string(const Corpus2::Tagset &tagset) const
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_CONDITIONAL_H
+#endif // LIBWCCL_OPS_FUNCTIONS_CONDITIONAL_H
diff --git a/libwccl/ops/functions/constant.h b/libwccl/ops/functions/constant.h
index 3620c5595a38d2ceb5aa959dcf66a0a145f58fbb..006419f5435ee125a61781513eeed15dbf58429a 100644
--- a/libwccl/ops/functions/constant.h
+++ b/libwccl/ops/functions/constant.h
@@ -1,9 +1,9 @@
-#ifndef LIBWCCL_OPS_CONSTANT_H
-#define LIBWCCL_OPS_CONSTANT_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_CONSTANT_H
+#define LIBWCCL_OPS_FUNCTIONS_CONSTANT_H
 
 #include <boost/concept_check.hpp>
 
-#include <libwccl/ops/functions.h>
+#include <libwccl/ops/function.h>
 
 namespace Wccl {
 
@@ -64,4 +64,4 @@ private:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_CONSTANT_H
+#endif // LIBWCCL_OPS_FUNCTIONS_CONSTANT_H
diff --git a/libwccl/ops/functions/position/relativeposition.cpp b/libwccl/ops/functions/position/relativeposition.cpp
index 0a0d73d000886ea93740905d01a2f1cd7b71461f..a2e98d20f20b27ba7d71904fb6b8f043dfda3a00 100644
--- a/libwccl/ops/functions/position/relativeposition.cpp
+++ b/libwccl/ops/functions/position/relativeposition.cpp
@@ -1,6 +1,6 @@
-#include <libwccl/ops/relativeposition.h>
+#include <libwccl/ops/functions/position/relativeposition.h>
 #include <sstream>
-#include <libwccl/ops/constant.h>
+#include <libwccl/ops/functions/constant.h>
 
 namespace Wccl {
 
diff --git a/libwccl/ops/functions/position/relativeposition.h b/libwccl/ops/functions/position/relativeposition.h
index dc27cae15f0601b90cc2680fd2d4e693a5fdbd2b..9324d42e11c3aa2034ee4f10c5c33cf7bae7d1a6 100644
--- a/libwccl/ops/functions/position/relativeposition.h
+++ b/libwccl/ops/functions/position/relativeposition.h
@@ -1,7 +1,7 @@
-#ifndef LIBWCCL_OPS_RELATIVEPOSITION_H
-#define LIBWCCL_OPS_RELATIVEPOSITION_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_POSITION_RELATIVEPOSITION_H
+#define LIBWCCL_OPS_FUNCTIONS_POSITION_RELATIVEPOSITION_H
 
-#include <libwccl/ops/functions.h>
+#include <libwccl/ops/function.h>
 #include <libwccl/ops/formatters.h>
 #include <libwccl/values/position.h>
 
@@ -64,4 +64,4 @@ protected:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_RELATIVEPOSITION_H
+#endif // LIBWCCL_OPS_FUNCTIONS_POSITION_RELATIVEPOSITION_H
diff --git a/libwccl/ops/functions/strset/affix.cpp b/libwccl/ops/functions/strset/affix.cpp
index c9bc7e0d23320ba02030fd4de8f9e22fda099e7f..5344fcc2c06327778b38af90993e8ffdb875fadf 100644
--- a/libwccl/ops/functions/strset/affix.cpp
+++ b/libwccl/ops/functions/strset/affix.cpp
@@ -1,7 +1,6 @@
-#include <libwccl/ops/affix.h>
+#include <libwccl/ops/functions/strset/affix.h>
 #include <sstream>
-#include <boost/foreach.hpp>
-#define foreach BOOST_FOREACH
+#include <libpwrutils/foreach.h>
 
 namespace Wccl {
 
diff --git a/libwccl/ops/functions/strset/affix.h b/libwccl/ops/functions/strset/affix.h
index ddda767a7b6d546baf1881c17cff28404fd03a64..2dbc16f83741e9627deedfa46cf2e4d642a6f0db 100644
--- a/libwccl/ops/functions/strset/affix.h
+++ b/libwccl/ops/functions/strset/affix.h
@@ -1,8 +1,8 @@
-#ifndef LIBWCCL_OPS_AFFIX_H
-#define LIBWCCL_OPS_AFFIX_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_STRSET_AFFIX_H
+#define LIBWCCL_OPS_FUNCTIONS_STRSET_AFFIX_H
 
 #include <libwccl/values/strset.h>
-#include <libwccl/ops/functions.h>
+#include <libwccl/ops/function.h>
 
 namespace Wccl {
 
@@ -56,4 +56,4 @@ protected:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_AFFIX_H
+#endif // LIBWCCL_OPS_FUNCTIONS_STRSET_AFFIX_H
diff --git a/libwccl/ops/functions/strset/tolower.cpp b/libwccl/ops/functions/strset/tolower.cpp
index f88ce8ac44b34def233bf41d83a9ba2be965176a..696371b0a516d5abe04d05ef5c9d03ce405daf72 100644
--- a/libwccl/ops/functions/strset/tolower.cpp
+++ b/libwccl/ops/functions/strset/tolower.cpp
@@ -1,4 +1,4 @@
-#include <libwccl/ops/tolower.h>
+#include <libwccl/ops/functions/strset/tolower.h>
 #include <libwccl/ops/formatters.h>
 
 namespace Wccl {
diff --git a/libwccl/ops/functions/strset/tolower.h b/libwccl/ops/functions/strset/tolower.h
index 28175f10b53cddc98c8ae0d17b678ec2a2e17bb3..bacbd917c46a6fdb9992078b0e57330e725842d7 100644
--- a/libwccl/ops/functions/strset/tolower.h
+++ b/libwccl/ops/functions/strset/tolower.h
@@ -1,8 +1,8 @@
-#ifndef LIBWCCL_OPS_TOLOWER_H
-#define LIBWCCL_OPS_TOLOWER_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_STRSET_TOLOWER_H
+#define LIBWCCL_OPS_FUNCTIONS_STRSET_TOLOWER_H
 
 #include <libwccl/values/strset.h>
-#include <libwccl/ops/functions.h>
+#include <libwccl/ops/function.h>
 
 namespace Wccl {
 
@@ -53,4 +53,4 @@ protected:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_TOLOWER_H
+#endif // LIBWCCL_OPS_FUNCTIONS_STRSET_TOLOWER_H
diff --git a/libwccl/ops/functions/strset/toupper.cpp b/libwccl/ops/functions/strset/toupper.cpp
index edbc3c75086732094a67ac3fcc2100ef0e70f37d..1a9f4b5a46000285a6ec1aace224631b4e91b54e 100644
--- a/libwccl/ops/functions/strset/toupper.cpp
+++ b/libwccl/ops/functions/strset/toupper.cpp
@@ -1,4 +1,4 @@
-#include <libwccl/ops/toupper.h>
+#include <libwccl/ops/functions/strset/toupper.h>
 #include <libwccl/ops/formatters.h>
 
 namespace Wccl {
diff --git a/libwccl/ops/functions/strset/toupper.h b/libwccl/ops/functions/strset/toupper.h
index e550e5474d2c45c62e571ed6c9dd9949e31ab0ab..c39d7a1997255b9585e9938dc18c294686e42c67 100644
--- a/libwccl/ops/functions/strset/toupper.h
+++ b/libwccl/ops/functions/strset/toupper.h
@@ -1,8 +1,8 @@
-#ifndef LIBWCCL_OPS_TOUPPER_H
-#define LIBWCCL_OPS_TOUPPER_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_STRSET_TOUPPER_H
+#define LIBWCCL_OPS_FUNCTIONS_STRSET_TOUPPER_H
 
 #include <libwccl/values/strset.h>
-#include <libwccl/ops/functions.h>
+#include <libwccl/ops/function.h>
 
 namespace Wccl {
 
@@ -52,4 +52,4 @@ protected:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_TOUPPER_H
+#endif // LIBWCCL_OPS_FUNCTIONS_STRSET_TOUPPER_H
diff --git a/libwccl/ops/functions/vargetter.h b/libwccl/ops/functions/vargetter.h
index 0e4b4a9f311e93939780704709762aa052fbd0cb..4ed7986657e1b3c61045ed579a874ee8b9ebc47b 100644
--- a/libwccl/ops/functions/vargetter.h
+++ b/libwccl/ops/functions/vargetter.h
@@ -1,7 +1,7 @@
-#ifndef LIBWCCL_OPS_VARGETTER_H
-#define LIBWCCL_OPS_VARGETTER_H
+#ifndef LIBWCCL_OPS_FUNCTIONS_VARGETTER_H
+#define LIBWCCL_OPS_FUNCTIONS_VARGETTER_H
 
-#include <libwccl/ops/functions.h>
+#include <libwccl/ops/function.h>
 
 namespace Wccl {
 
@@ -55,4 +55,4 @@ private:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_OPS_VARGETTER_H
+#endif // LIBWCCL_OPS_FUNCTIONS_VARGETTER_H