added exceptions interface