Added materialFactory API