replaced setTexture with defineProperty