Continued the shader system. Also added JavaDocs