dynamically change providers