update because opengl sux