ported new signal functionality