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()