updated - added async texture loading