Many Updates and revisions

I have refactored a lot of code, mainly to add SB2 support and to
include a purchase path through the IM tab.
General upkeep