template opengl added