implementing module-opengl