adds base provider and refactors docu