added system exit