fixed exit()