exception handling changes