add test
add try catch