gl implementation starting
try with gl3 first