new provider and controller