add trap exit