added simple factory opengl rendering