gracefully exit on SIGINT (ctrl+c)