added accuracy and a way to choose best provider