rewrote signal handling using boost asio