add state validity checking capability