Add animation and debounce