setup is better. exceptions are caught and progress is shown