shuffle things around to make multiple provider support easier
Merge pull request #16 from ZeroFucks/providers

Shuffle things around to make multiple provider support easier