fixing up providers (verified working) and fixing some settingscache behavior