add smoothing support