diff --git a/CMakeLists.txt b/CMakeLists.txt
index e0abd24..bcbaeaf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,8 +20,8 @@ target_link_libraries(calc2 pthread)
add_executable(calc3 example/calc3.cc)
target_link_libraries(calc3 pthread)
-add_executable(pl0 example/pl0.cc)
+add_executable(pl0 language/pl0/pl0.cc)
target_link_libraries(pl0 pthread)
-add_executable(culebra language/main.cc)
+add_executable(culebra language/culebra/main.cc)
target_link_libraries(culebra pthread)
diff --git a/example/Makefile b/example/Makefile
index 40a7112..10237a9 100644
--- a/example/Makefile
+++ b/example/Makefile
@@ -9,7 +9,7 @@ CC = g++
CFLAGS = -std=c++1y -g
endif
-all: calc calc2 calc3 pl0
+all: calc calc2 calc3
calc : calc.cc ../peglib.h
$(CC) -o calc $(CFLAGS) -I.. calc.cc
@@ -19,6 +19,3 @@ calc2 : calc2.cc ../peglib.h
calc3 : calc3.cc ../peglib.h
$(CC) -o calc3 $(CFLAGS) -I.. calc3.cc
-
-pl0 : pl0.cc ../peglib.h
- $(CC) -o pl0 $(CFLAGS) -I.. pl0.cc
diff --git a/example/example.sln b/example/example.sln
index 4b46397..b6352c7 100644
--- a/example/example.sln
+++ b/example/example.sln
@@ -9,8 +9,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "calc2", "calc2.vcxproj", "{
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "calc3", "calc3.vcxproj", "{E6146F73-3B4C-4D4C-BC55-148930954434}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pl0", "pl0.vcxproj", "{6C5633BD-3CAE-498E-B0C6-ED90A1A99C47}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
diff --git a/language/culebra/CMakeLists.txt b/language/culebra/CMakeLists.txt
index e4eefab..8e32721 100644
--- a/language/culebra/CMakeLists.txt
+++ b/language/culebra/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.0)
-include_directories(..)
+include_directories(../..)
add_definitions("-std=c++1y")
add_executable(culebra main.cc)
diff --git a/language/culebra/vc14/culebra.sln b/language/culebra/culebra.sln
similarity index 100%
rename from language/culebra/vc14/culebra.sln
rename to language/culebra/culebra.sln
diff --git a/language/culebra/vc14/culebra.vcxproj b/language/culebra/culebra.vcxproj
similarity index 94%
rename from language/culebra/vc14/culebra.vcxproj
rename to language/culebra/culebra.vcxproj
index 54d7077..dcb7333 100644
--- a/language/culebra/vc14/culebra.vcxproj
+++ b/language/culebra/culebra.vcxproj
@@ -11,12 +11,12 @@
-
-
-
+
+
+
-
+
{F85B641A-7538-4809-8175-C528FF632CF6}
diff --git a/example/pl0.cc b/language/pl0/pl0.cc
similarity index 100%
rename from example/pl0.cc
rename to language/pl0/pl0.cc
diff --git a/language/pl0/pl0.sln b/language/pl0/pl0.sln
new file mode 100644
index 0000000..2f45413
--- /dev/null
+++ b/language/pl0/pl0.sln
@@ -0,0 +1,34 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pl0", "pl0.vcxproj", "{6C5633BD-3CAE-498E-B0C6-ED90A1A99C47}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F85B641A-7538-4809-8175-C528FF632CF6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F85B641A-7538-4809-8175-C528FF632CF6}.Debug|Win32.Build.0 = Debug|Win32
+ {F85B641A-7538-4809-8175-C528FF632CF6}.Release|Win32.ActiveCfg = Release|Win32
+ {F85B641A-7538-4809-8175-C528FF632CF6}.Release|Win32.Build.0 = Release|Win32
+ {1D09607B-E1C0-4D62-8AB4-9E2D2C2DC6E4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1D09607B-E1C0-4D62-8AB4-9E2D2C2DC6E4}.Debug|Win32.Build.0 = Debug|Win32
+ {1D09607B-E1C0-4D62-8AB4-9E2D2C2DC6E4}.Release|Win32.ActiveCfg = Release|Win32
+ {1D09607B-E1C0-4D62-8AB4-9E2D2C2DC6E4}.Release|Win32.Build.0 = Release|Win32
+ {E6146F73-3B4C-4D4C-BC55-148930954434}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E6146F73-3B4C-4D4C-BC55-148930954434}.Debug|Win32.Build.0 = Debug|Win32
+ {E6146F73-3B4C-4D4C-BC55-148930954434}.Release|Win32.ActiveCfg = Release|Win32
+ {E6146F73-3B4C-4D4C-BC55-148930954434}.Release|Win32.Build.0 = Release|Win32
+ {6C5633BD-3CAE-498E-B0C6-ED90A1A99C47}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6C5633BD-3CAE-498E-B0C6-ED90A1A99C47}.Debug|Win32.Build.0 = Debug|Win32
+ {6C5633BD-3CAE-498E-B0C6-ED90A1A99C47}.Release|Win32.ActiveCfg = Release|Win32
+ {6C5633BD-3CAE-498E-B0C6-ED90A1A99C47}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/example/pl0.vcxproj b/language/pl0/pl0.vcxproj
similarity index 100%
rename from example/pl0.vcxproj
rename to language/pl0/pl0.vcxproj