adds provider to change the default config app-wide and major refactoring
updates readme
cleanup