shaders are seperate class again, extend and extendTexture methods