handle signal change