separating out animation functions + logic to cycle animations