added lock for providerData