added real signal handling for SIGINT