Use OPENGL - thanks to Keith