Implementing providers
Fix for #10
Possible fix for #7
Implementing providers
#7 Fix
Adding license and cleaning up code
Cleaning up code