Smoothing Non-Smooth Functions