updated provider controller