fix signal to use one function, and override no sender