missed a couple of things with state functionality