animation & more logic