def main(): thread_events = Event() data_transfer = DataTransfer() model = BoidsModel(thread_events, data_transfer, WIDTH, HEIGHT) controller = Controller(model) app = GUI(WIDTH, HEIGHT, data_transfer, controller) model.start() app.on_execute() thread_events.set() model.join()