diff --git a/README.md b/README.md
index 5f52448..b834499 100644
--- a/README.md
+++ b/README.md
@@ -125,6 +125,7 @@ is also a viable IDE but involves some extra setup.
|-------------------|----------------------------------------------------------------------------------------------------------|
| C/C++ Compiler | GCC/G++ is the compiler that fennec is designed around, however, Clang, MSVC, and MinGW may also be used |
| CMake | The build manager used by the engine |
+| glew | OpenGL Extension Wrangler, necessary for modern OpenGL |
| A build system | Any build system will work, however, `build.sh` uses Ninja by default. |
| A memory debugger | Any memory debugger will work, however, `test.sh` uses Valgrind by default. |
| Doxygen | Doxygen is required for building the documentation for fennec. This is an optional dependency |
@@ -141,6 +142,12 @@ for more info.
By default, the CMake generator used is Ninja, which requires Ninja to be installed. You can modify the
build scripts to use another build manager, see the [CMake documentation for available generators](https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html).
+On Debian-based distributions, you can install dependencies using the following command:
+```shell
+sudo apt install build-essential cmake ninja-build libglew-dev valgrind
+git submodule update --init --recursive
+```
+
I will at no point provide official cross-compilation toolchains for fennec. However, I will provide tools for
using specific toolchains for specific platforms that necessitate this. The primary examples would be Android and iOS.
diff --git a/cmake/opengl.cmake b/cmake/opengl.cmake
index c7f7b42..f83a625 100644
--- a/cmake/opengl.cmake
+++ b/cmake/opengl.cmake
@@ -22,6 +22,7 @@ if(FENNEC_GRAPHICS_WANT_EGL)
message(STATUS "EGL Requested")
else()
find_package(OpenGL)
+ find_package(GLEW REQUIRED)
endif()
if(TARGET OpenGL::GL AND TARGET GLEW::GLEW)
diff --git a/include/fennec/containers/multiset.h b/include/fennec/containers/multiset.h
index 456dcb3..7d65b96 100644
--- a/include/fennec/containers/multiset.h
+++ b/include/fennec/containers/multiset.h
@@ -16,8 +16,8 @@
// along with this program. If not, see .
// =====================================================================================================================
-#ifndef FENNEC_CONTAINERS_SET_H
-#define FENNEC_CONTAINERS_SET_H
+#ifndef FENNEC_CONTAINERS_MULTISET_H
+#define FENNEC_CONTAINERS_MULTISET_H
// https://programming.guide/robin-hood-hashing.html
diff --git a/include/fennec/memory/detail/_string.h b/include/fennec/memory/detail/_string.h
index 648d253..5574e26 100644
--- a/include/fennec/memory/detail/_string.h
+++ b/include/fennec/memory/detail/_string.h
@@ -24,14 +24,20 @@
// implementation
#if FENNEC_COMPILER_GCC
-#define __OPTIMIZE__
+#ifndef __OPTIMIZE__
+# define __OPTIMIZE__
+#else
+# define FENNEC_OPTIMIZE_FOUND
+#endif
#endif
#include
#include
#if FENNEC_COMPILER_GCC
+#ifndef FENNEC_OPTIMIZE_FOUND
#undef __OPTIMIZE__
#endif
+#endif
#endif // FENNEC_MEMORY_DETAIL_MEMORY_H
diff --git a/planning/LANGUAGE_PROCESSING.md b/planning/LANGUAGE_PROCESSING.md
index cff71b9..f68405e 100644
--- a/planning/LANGUAGE_PROCESSING.md
+++ b/planning/LANGUAGE_PROCESSING.md
@@ -59,12 +59,11 @@ is create C++ classes that handle file streams, directory streams, and file path
-## Interpreter (`langproc/interpret`)
+## Interpreter (`langproc/parse`)
- This submodule will contain classes for interpreting data, particularly
-through parsers. We will need to be able to do the following things to achieve
-support for files that adhere to a certain specification. Here are some concepts
-that will need to be implemented as classes:
+ This submodule will contain classes for parsing data. We will need to be
+able to do the following things to achieve support for files that adhere to a
+certain specification. Here are some concepts that will need to be implemented as classes:
### Reading