added gl_window class