3 Commits (split-mainloop-in-init-and-run)