updated to use vbo/shaders(modern opengl)