should be able to exit cleanly even when something goes wrong during the init phase