button functionality is built-in with animation