exception catching added