In hindsight, don't really need to hold the lock at all, just auto release