refactored signals, added new signal