state changes must wait data validation