add sigint singal handler chaining, err checking