added exeptions