add catch excpetions