working version with core gl and shaders and classic 2.1 gl