Tabs to spaces
Cleaning up gem related files
Fixing the majority of the specs
Code cleanup & improvements