added animation smoothing