lock_with -> with_lock, priv unlock