XXX: add sigint handler