refactor providers, support local downloaded extras