started implementing the material/shader system