added exceptions raising