Smooth approximation and Hrushovski-type constructions