catch more term signals for better cleanup