Updated to no longer use _read_state