main provider