added the multiple and parallel providers mechanism and the first two providers