signal handling works now. But piping is stupid
very very stupid. I am so annoyed at piping