change on to one signal handler