improved texture loading