adding and updating providers