GLUT boilerplate