Feature/cfy 1000 revamp provider dev

refactoring of the provider code