state change and more animation