better support for exception & bug fix