unselect behavior
animation fix
refactor