Initial basic implementation of trying each provider - nothing clever happening for now