don't double acquire lock