add size
add try catch