state_lock loop