added first try at multi provider support