Add UI animations, refactoring, bug fix.