Properly OOP'ed and threaded the code
UI tweaks and Print out more info