added exponential smoothing