ticket:10 signals + tests