state iterator class added