Multi provider

Everyone who participates in this project, please help and see if this structure is good enough to be applied.