smoothing implemented