half-way through implementing rendering. need to fix opengl bug