diff --git a/libwccl/CMakeLists.txt b/libwccl/CMakeLists.txt
index b022c58253cec3e1bf8bcda83a6ec97c0fcf4493..8bbf14623039956534e0c130c0c9b1c4a24eeded 100644
--- a/libwccl/CMakeLists.txt
+++ b/libwccl/CMakeLists.txt
@@ -11,12 +11,12 @@ link_directories(${Boost_LIBRARY_DIRS})
 set(LIBS ${LIBS} ${Boost_LIBRARIES})
 
 SET(libwccl_STAT_SRC
-	bool.cpp
 	exception.cpp
 	main.cpp
-	position.cpp
 	sentencecontext.cpp
-	value.cpp
+	values/bool.cpp
+	values/position.cpp
+	values/value.cpp
 	variables.cpp
 )
 
diff --git a/libwccl/bool.cpp b/libwccl/values/bool.cpp
similarity index 70%
rename from libwccl/bool.cpp
rename to libwccl/values/bool.cpp
index ab84cd371b9b3e09eef697f4ded65dd1c91c6be1..eb8e2a8198a7b2848d9b82804b739bf6ce37cc27 100644
--- a/libwccl/bool.cpp
+++ b/libwccl/values/bool.cpp
@@ -1,4 +1,4 @@
-#include <libwccl/bool.h>
+#include <libwccl/values/bool.h>
 
 namespace Wccl {
 
diff --git a/libwccl/bool.h b/libwccl/values/bool.h
similarity index 73%
rename from libwccl/bool.h
rename to libwccl/values/bool.h
index d1b75b5246322d870f346a27b94ce47ce2273453..a668b7d54f385461fe6ae8a138d0b3b0393f3dc7 100644
--- a/libwccl/bool.h
+++ b/libwccl/values/bool.h
@@ -1,7 +1,7 @@
-#ifndef LIBWCCL_BOOL_H
-#define LIBWCCL_BOOL_H
+#ifndef LIBWCCL_VALUES_BOOL_H
+#define LIBWCCL_VALUES_BOOL_H
 
-#include <libwccl/value.h>
+#include <libwccl/values/value.h>
 
 namespace Wccl {
 
@@ -34,4 +34,4 @@ private:
 
 } /* end ns Wccl */
 
-#endif // LIBWCCL_BOOL_H
+#endif // LIBWCCL_VALUES_BOOL_H
diff --git a/libwccl/position.cpp b/libwccl/values/position.cpp
similarity index 85%
rename from libwccl/position.cpp
rename to libwccl/values/position.cpp
index f2acf821c2c2a4cd3d7c26992221822c0a5d647c..d422ccb4b0bbe81ce27d5e82593e8948b46ed4c5 100644
--- a/libwccl/position.cpp
+++ b/libwccl/values/position.cpp
@@ -1,4 +1,4 @@
-#include <libwccl/position.h>
+#include <libwccl/values/position.h>
 #include <boost/lexical_cast.hpp>
 namespace Wccl {
 
diff --git a/libwccl/position.h b/libwccl/values/position.h
similarity index 78%
rename from libwccl/position.h
rename to libwccl/values/position.h
index ea0b06a5a093b618d293640bdd268a5a89b5eb62..ee7b05941c3e31adde3607c1cdb2e64c1e330d13 100644
--- a/libwccl/position.h
+++ b/libwccl/values/position.h
@@ -1,7 +1,7 @@
-#ifndef LIBWCCL_POSITION_H
-#define LIBWCCL_POSITION_H
+#ifndef LIBWCCL_VALUES_POSITION_H
+#define LIBWCCL_VALUES_POSITION_H
 
-#include <libwccl/value.h>
+#include <libwccl/values/value.h>
 #include <cstdlib>
 
 namespace Wccl {
diff --git a/libwccl/value.cpp b/libwccl/values/value.cpp
similarity index 70%
rename from libwccl/value.cpp
rename to libwccl/values/value.cpp
index 89c49ac3b4a43a66219e2aa01446a966cdd33437..138b4c3e8b806fddfdd7b0e1de8e5c89324dcd12 100644
--- a/libwccl/value.cpp
+++ b/libwccl/values/value.cpp
@@ -1,4 +1,4 @@
-#include <libwccl/value.h>
+#include <libwccl/values/value.h>
 
 namespace Wccl {
 
diff --git a/libwccl/value.h b/libwccl/values/value.h
similarity index 93%
rename from libwccl/value.h
rename to libwccl/values/value.h
index 4e9e54ab15f5b70447ddd320a5877ec7c4f04ada..c6456514a3c40479c6c2f6bf9857930a4f6a772e 100644
--- a/libwccl/value.h
+++ b/libwccl/values/value.h
@@ -1,5 +1,5 @@
-#ifndef LIBWCCL_VALUE_H
-#define LIBWCCL_VALUE_H
+#ifndef LIBWCCL_VALUES_VALUE_H
+#define LIBWCCL_VALUES_VALUE_H
 
 #include <libcorpus2/tagset.h>
 
diff --git a/libwccl/variables.h b/libwccl/variables.h
index bf2259e2629e3b8d39476f464bb7f8656041d181..8cc21277272cc43813eef5c7791d0fe6e0c278ee 100644
--- a/libwccl/variables.h
+++ b/libwccl/variables.h
@@ -1,9 +1,9 @@
 #ifndef LIBWCCL_VARIABLES_H
 #define LIBWCCL_VARIABLES_H
 
-#include <libwccl/bool.h>
+#include <libwccl/values/bool.h>
 #include <libwccl/exception.h>
-#include <libwccl/position.h>
+#include <libwccl/values/position.h>
 #include <iostream>
 #include <map>
 #include <string>