each obj now has its own shaders