use exit not return