rewrote signal sending