added more texture implementation