avoid try-catch