refactoring for signal, adding Node instead of pure Sources