lots of work, added material textures