before another refactoring
functioning well, prior to signal refactor