Still unstable: made it such that headers are no longer rooted to the project directory and instead use all-relative paths, like ../header.h for parent directory as opposed to utilities/header.h. Also CMakeLists.txt was updated to support Visual Studio project generation, which kinda works