Tweaks
Fixing corner cases
Refactoring a bunch
More refactoring
Refactoring
Making it good
Refactoring
Flipped the class instance naming
Lot of refactoring to make happy