add SIGINT (ctrl+c) handling