New provider

(comments in the function)