added SIGINT handler