add state synchronuously