add specific exceptions
misc changes