added viewmodel to store animation state