added exception block