[WIP] Providers refactoring

This is a WIP PR for the providers refactoring (see #22)
why ?