Adds some further comments
Refactor provider