adding boolswitch class

Refactoring code and rethinking usage scenarios. Oh yeah...and I added the first switch and provider...