added state recorder and report