optimized signal handling
WIP: new signals, broken!