updated material structure, added texture loading