refactor
catch startup-throw errors
exception handling in then/catch