add and modify providers