added exceptions class