added exceptions.