implemented texture map