Submission 2. Main is in controller.cpp