optimize check state