Refactored so a controller object runs the show
Streamlined the main entry point