added signals.js