I think most of the control flow is complete for controller.py