copied over code for initGL