sys.exit() deep inside a library is a huge no-no