cleanup and use multiple catch the first time