tap animations & refactoring