Re-organized and re-wrote much of the controller and view.