use GLWindow for window creation