use object oriented glut layer