Changed provider structure to hashset