add try catch