converted to new framework using GLM and CMake