added opengl wrappers and glfw window wrapper