fixed signal handler