Refactor and some animation