basic glfw shell