added non uniform material option