fix signal dispatch